Dart dilinde kalıtım, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını devralmasını sağlar. Bir sınıf, başka bir sınıftan türetilerek yeni bir sınıf oluşturulur. Kalıtım, kodun tekrar kullanılabilirliğini artırır ve nesne yönelimli programlamanın temel prensiplerinden biridir.

Dart dilinde kalıtımı gerçekleştirmek için “extends” anahtar kelimesi kullanılır. Yeni oluşturulan sınıf, kalıtım yapılan sınıfın tüm özelliklerini ve davranışlarını miras alır.

Örnek olarak, bir AnaKedi (superclass) ve BirKedi (subclass) sınıfını düşünelim:

class AnaKedi {
String tur;
int yas;

void miyavla() {
print(‘Miyav!’);
}
}

class BirKedi extends AnaKedi {
String renk;

void zipla() {
print(‘Zıpladı!’);
}
}

Yukarıdaki örnekte, AnaKedi sınıfı temel sınıftır (superclass). BirKedi sınıfı ise AnaKedi sınıfından türetilen alt sınıftır (subclass). BirKedi sınıfı, AnaKedi sınıfının özelliklerini (tur ve yas) ve davranışlarını (miyavla) miras alır. Ayrıca BirKedi sınıfı kendi özelliklerini (renk) ve davranışlarını (zipla) tanımlar.

Alt sınıfın, üst sınıfın tüm public ve protected özelliklerine ve davranışlarına erişimi vardır. Alt sınıf aynı zamanda üst sınıfın davranışlarını (metodları) yeniden tanımlayabilir (override) veya genişletebilir.

void main() {
var birKedi = BirKedi();
birKedi.tur = ‘Sokak kedisi’;
birKedi.yas = 2;
birKedi.renk = ‘Kahverengi’;

birKedi.miyavla(); // Üst sınıftan miras alınan metodu çağırır
birKedi.zipla(); // Alt sınıfa özgü metodu çağırır
}

Yukarıdaki örnekte, BirKedi sınıfından bir örnek oluşturulur ve özelliklerine değerler atanır. Ardından miras alınan miyavla() metodu ve alt sınıfa özgü zipla() metodu çağrılır.

Kalıtım, kodun tekrar kullanılabilirliğini ve sınıflar arasında bir ilişki kurmayı sağlar. Alt sınıflar, üst sınıfın özelliklerini ve davranışlarını kullanarak kodu genişletebilir veya özelleştirebilir.

Dart Composition dersi için tıklayın

YORUMLAR

Bir yanıt yazın

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