Middle
@CallSuper anotasyonu ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
@CallSuper anotasyonu, üzerine yazılan metodun (alt sınıfta) mutlaka üst sınıf metodunun uygulamasını çağırması gerektiğini belirtmek için kullanılır.
Bu, aşağıdaki durumlarda faydalıdır:
- Üst sınıfın durumu: Üst sınıf, metodunda önemli bir durumu başlatabilir veya yönetebilir.
@CallSuperçağrısı, bu durumun alt sınıflarda doğru şekilde işlenmesini sağlar. - Kaynaklar/Temizlik: Üst sınıf, kaynakları yönetebilir veya temizlik işlemleri yapabilir.
@CallSuper, bu işlemlerin metod yeniden yazılsa bile yapılmasını garanti eder. - Davranış sözleşmesi: Anotasyon, üst sınıfın uygulamasının, alt sınıflarda korunması gereken genel davranışın bir parçası olduğunu belirtir.
Kullanım örneği:
public class BaseActivity extends AppCompatActivity {
@Override
@CallSuper // onCreate() metodunun üst sınıf tarafından çağrılması gerektiğini gösterir
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Temel bileşenlerin başlatılması
}
}
public class MyActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // Üst sınıf metodunun zorunlu çağrısı
// MyActivity için ek başlatma
}
}
Önemli not: @CallSuper, kod analiz araçları (örneğin Lint) için bir talimattır ve derleme seviyesinde zorunlu bir gereklilik değildir. Bu anotasyon ile işaretlenmiş metodun super() çağrılmadan yeniden yazılması durumunda uyarı verilir.