Sobes.tech
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: extends anahtar 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.