Dart ile Class ve Nesne Yönelimli Programlama


Dart ile Class ve Nesne Yönelimli Programlama

Dart programlama dili, modern uygulama geliştirme süreçlerinde güçlü nesne yönelimli programlama (OOP) özellikleriyle öne çıkar. Özellikle Flutter ile mobil ve web uygulama geliştirirken, kodun modüler, okunabilir ve sürdürülebilir olması adına Dart'ın class ve OOP özelliklerini etkin biçimde kullanmak büyük önem taşır. Bu makalede "Dart ile class ve nesne yönelimli programlama" kavramlarını detaylarıyla inceleyeceğiz.

Dart'ta Class Tanımlama ve Kullanımı

Dart dilinde class (sınıf), bir nesnenin (object) yapısını ve davranışlarını tanımlar. Class'lar sayesinde tekrarlayan kodlardan kaçınılır, kod yeniden kullanılabilir ve projeler daha yönetilebilir hale gelir.

Basit Bir Class Tanımı


class Araba {
  String marka;
  int yil;
  
  Araba(this.marka, this.yil);

  void bilgiYazdir() {
    print('Marka: ' + marka + ', Yıl: ' + yil.toString());
  }
}

void main() {
  Araba araba1 = Araba('Toyota', 2022);
  araba1.bilgiYazdir();
}

Yukarıdaki örnekte Araba adlı bir class tanımladık. Yapıcı (constructor) ile sınıf özelliklerine değer atadık ve bir fonksiyon aracılığıyla bilgileri ekrana bastık.

OOP Prensipleri Dart ile Nasıl Uygulanır?

Dart ile nesne yönelimli programlamanın temel prensipleri şu şekilde uygulanır:

1. Kapsülleme (Encapsulation)

Veri ve işlevlerin tek bir yapı (class) içinde toplanmasıdır. Özel özellikler için _özellikAdi kullanılır.


class Kisi {
  String _isim; // özel, dışarıdan erişilemez
  Kisi(this._isim);
  String get isim => _isim;
}

2. Kalıtım (Inheritance)

Bir sınıfın başka bir sınıftan özellik ve methodları devralmasıdır.


class Hayvan {
  void sesCikar() {
    print('Bir ses...');
  }
}

class Kedi extends Hayvan {
  @override
  void sesCikar() {
    print('Miyav!');
  }
}

3. Çok Biçimlilik (Polymorphism)

Aynı methodun farklı class'larda farklı şekilde çalıştırılmasıdır.


void sesTest(Hayvan hayvan) {
  hayvan.sesCikar();
}

void main() {
  Kedi kedi = Kedi();
  sesTest(kedi); // Kedi'nin sesCikar metodu çağrılır
}

Sonuç: Dart Class ve OOP ile Modern Geliştirme

"Dart ile class ve nesne yönelimli programlama", modern mobil ve web projelerinde yazılım kalitesini artıran vazgeçilmez bir yaklaşımdır. Class yapılarını ve OOP prensiplerini doğru kullandığınızda projeleriniz hem okunabilir hem de sürdürülebilir olur. Özellikle Flutter projelerinde kodunuzu ölçeklendirilebilir ve modüler biçimde tasarlamak için Dart'ın zengin nesne yönelimli özelliklerini mutlaka değerlendirin.