Dart

Dart super Anahtar Kelimesi

Dart dilinde super anahtar kelimesi üst sınıf nesnesini çağırmak için kullanılır. Bir alt sınıf örneği oluşturduğumuzda, üst sınıfının bir örneği örtük olarak oluşturulur ve buna super anahtar sözcüğünü kullanarak ulaşabiliriz.

Super anahtar sözcüğü, hem ebeveyn hem de alt sınıf aynı ada sahip üyeye sahip olduğunda, üst sınıfın veri üyelerine erişmek için kullanılabilir.

Benzer şekilde, alt sınıf bu yöntemi geçersiz kıldığında, üst sınıfın yöntemine erişmek için kullanılabilir.

Ayrıca üst sınıfın varsayılan veya parametreli kurucu metodunu çağırmak için kullanılabilir. 

Üst sınıf değişkenlerine erişmek için kullanımı

Dart super anahtar kelimesi, halihazırda alt sınıfın zaten üst sınıfında bulunan bir değişkeni olduğunda, üst sınıftaki değişkene erişmek için kullanılabilir.

Çıktı: 50

Yukarıdaki örnekte super anahtar kelimesini kullanmasaydık 50 yerine alt sınıfımızdaki değer olan 100 sayısını elde edecektik.

Üst sınıf metodunu çağırmak için

Bir alt sınıf, üst sınıfta zaten mevcut olan bir yöntemi içeriyorsa, buna metodu ezme (geçersiz kılma) denir. Alt sınıf nesnesinden yönteme yapılan çağrıyı geçersiz kılmak, her zaman metodunun alt sınıf sürümünü çağırır. Ancak, super anahtar sözcüğünü kullanarak, yöntemin üst sınıf sürümünü çağırmamıza izin verilir.

Çıktı:

Alt sınıf metodu çalıştı.
Üst sınıf metodu çalıştı.

Tabi şunu da belirtmek gerekir ki alt sınıf, üst sınıf metodunu geçersiz kılmadığında, üst sınıf yöntemini çağırmak için süper anahtar kelimeyi kullanmaya gerek yoktur.

Dart super kurucu metodu

Bir alt sınıf, değişkenleri ve yöntemleri üst sınıfından devralır, ancak üst sınıf kurucu metodunu alt sınıfta miras alamaz. Üst sınıf kurucu metotlarını alt sınıfta çağırabilmek için super() kullanılır. Böylelikle super() kurucu metodu ile, bir alt sınıf yapıcısının, üst sınıfın bağımsız değişkensiz ve parametreli kurucusunun çağrılmasına izin verir.

Eğer üst sınıftaki kurucu metot argümanlar alıyorsa, o zaman üst sınıfın parametreli hale getirilmiş kurucusunu çağırmak ve istenen argümanları iletmek için alt sınıf kurucusunda parametrelileştirilmiş super() metodunu kullanmamız gerekir. Bunu da :super yazarak sağlayabiliriz:

Çıktı:

Üst sınıfın kurucu metodu çalıştı
Benim adım Brad ve yaşım 20
Benim adım Tom, yaşım 30 ve maaşım 4000 dolar

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

😔 Reklam Engelleyicisi 😔

Sitenin varlığını sürdürebilmesi adına reklam engelleyicinizi (Adblocker) kapatmanızı rica ediyoruz 😔