Junior
Dart dilinde nesne yönelimli programlamanın hangi yönleri bulunmaktadır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dart'ta aşağıdaki OOP yönleri bulunmaktadır:
- Sınıflar ve nesneler: Alanlar ve metodlar içeren sınıflar tanımlama, sınıf örnekleri (nesneler) oluşturma yeteneği.
- Kapsülleme: Erişim belirteçleri (
_özel üyeler için) ve getter/setter metodları kullanarak uygulama detaylarını gizleme. - Miras:
extendsanahtar kelimesi kullanarak mevcut sınıfların işlevselliğini genişletme. - Çok biçimlilik: Ortak bir arayüz veya temel sınıf aracılığıyla farklı sınıflardan nesneleri tek tipte işleme yeteneği.
- Soyutlama: Sözleşmeleri tanımlamak için soyut sınıflar ve arayüzler oluşturma.
Dart'ta bir sınıf örneği:
class Animal {
String _name; // Özel alan
Animal(this._name); // Yapıcı
String get name => _name; // Getter
void makeSound() {
print('Bazı genel hayvan sesi'); // Metod
}
}
Miras örneği:
class Dog extends Animal {
Dog(String name) : super(name); // Temel sınıf yapıcısını çağırma
@override // Temel sınıf metodunu geçersiz kılma
void makeSound() {
print('Hav hav!');
}
}
Çok biçimlilik örneği:
void makeAnimalSound(Animal animal) {
animal.makeSound(); // makeSound() metodunu çağırır, bu farklı Animal türleri için farklı olabilir
}
// Kullanım:
// makeAnimalSound(Dog('Buddy')); // "Hav hav!" yazdırır
Dart ayrıca with anahtar kelimesiyle mixinleri destekler, bu da doğrudan kalıtım olmadan sınıfların kodunu yeniden kullanmayı sağlar.