Dart Extension Methods ve Getter/Setter Kullanımı


Dart Extension Methods ve Getter/Setter Kullanımı

Dart programlama dili extension methods ve getter/setter kavramları sayesinde yazılım geliştiricilere esnek ve okunabilir kodlar yazma imkânı sunar. Özellikle Flutter ve Dart temelli projelerde, kodun daha sürdürülebilir ve modüler olabilmesi için bu iki özelliğin avantajlarından yararlanmak oldukça önemlidir.

Dart Extension Methods Nedir?

Extension methods, Dart 2.7 ile birlikte dilde yerini alan ve mevcut sınıflara, arayüzlere ya da veri tiplerine ekstra fonksiyonlar eklemeye olanak tanıyan güçlü bir özelliktir. Dart extension methods sayesinde üçüncü parti sınıflarda veya kendi yazdığınız sınıflarda kolayca yeni işlevler tanımlayabilirsiniz. Bu, mevcut sınıfları değiştirmeden kodunuzu daha zengin ve okunabilir hale getirir.

Dart Extension Methods Örneği

extension StringExtensions on String {
  String capitalize() => this.isNotEmpty
      ? this[0].toUpperCase() + this.substring(1)
      : '';
}

void main() {
  String ad = 'ali';
  print(ad.capitalize()); // Çıktı: Ali
}

Dart Getter ve Setter Kullanımı

Dart programlama dili getter ve setter yöntemi ile, bir sınıfın özelliklerine kontrollü erişim sağlar. Getter fonksiyonları değişken değerini okuma işini yaparken, setter fonksiyonları ise değer atamanın önüne özel işlemler koymanıza olanak tanır. Böylece nesne odaklı programlamada encapsulation (kapsülleme) prensibi uygulanmış olur.

Dart Getter ve Setter Örneği

class Ogrenci {
  String _isim = '';

  String get isim => _isim;

  set isim(String deger) {
    if (deger.length > 2) {
      _isim = deger;
    } else {
      throw Exception('İsim en az 3 harfli olmalı!');
    }
  }
}

void main() {
  var ogr = Ogrenci();
  ogr.isim = 'Ayşe';
  print(ogr.isim); // Çıktı: Ayşe
}

Sonuç

Dart extension methods ve getter/setter kullanımı, kodunuzu daha fonksiyonel, okunabilir ve güvenli hale getirir. Özellikle orta ve büyük ölçekli projelerde hem fonksiyon eklemede hem de veri güvenliğinde bu yapıları uygulamanız tavsiye edilir. Dart programlama dili ile gelişmiş projelerde bu modern özelliklerden yararlanmanız, geliştirme sürecinizin verimliliğini artıracaktır.