Dart
Birleştirme
Yardımcı metotları bir kütüphanede birleştirirsin.
Birleştirme
Son derste üç yardımcı metodu bir arada çağıracağız. slugify dizgeleri, clamp sayıları, formatDate tarihleri düzenler. Tek bir Helper örneği üzerinden hepsi çalışır.
Bir örnek oluşturup üç metodu sırayla çağıracağız: var h = Helper();, h.slugify(...), h.clamp(...), h.formatDate(...). Her çağrı bir satır çıktı verir. Böylece kütüphanenin çalıştığını görmüş oluruz. Ayrıca dosyaya bir library yönergesi ekleyerek onu adlandırılmış bir kütüphane olarak işaretleyeceğiz.
library ve export
Dart'ta bir dosyayı adlandırılmış bir kütüphane yapmak için library yönergesi kullanılır: library helpers;. Bu, dosyaya bir isim verir ve başka dosyalardan içe aktarılmasını kolaylaştırır.
İlişkili bir kavram export'tür: başka bir kütüphanedeki simgeleri kendi kütüphanen üzerinden yeniden yayınlamak için kullanılır. Örneğin export 'src/string_helpers.dart'; o dosyadaki herkese açık simgeleri kendi kütüphanenden dışa aktarır. Bu derste tek dosyada çalıştığımız için export doğrudan kullanmayız; ama kütüphane tasarımında önemli bir araçtır ve gerçek projelerde birden çok dosyayı tek arayüz altında toplar.
Uygulama Kütüphaneyi birleştir
Var olan Helper sınıfını koru. Dosyanın en üstüne library helpers; yönergesini ekle. main içinde var h = Helper(); ile örnek oluştur ve üç yardımcıyı sırayla çağır: print(h.slugify('Merhaba Dünya')), print(h.clamp(15, 0, 10)) ve print(h.formatDate(2024, 5, 1)).
Örnek çözümü göster
library helpers;
class Helper {
final String version;
Helper() : version = '1.0';
String slugify(String text) {
return text.toLowerCase().replaceAll(' ', '-');
}
int clamp(int value, int min, int max) {
if (value < min) return min;
if (value > max) return max;
return value;
}
String formatDate(int year, int month, int day) {
var m = month.toString().padLeft(2, '0');
var d = day.toString().padLeft(2, '0');
return '$year-$m-$d';
}
}
void main() {
var h = Helper();
print(h.slugify('Merhaba Dünya'));
print(h.clamp(15, 0, 10));
print(h.formatDate(2024, 5, 1));
}
Kendini test et
-
Bir Helper örneği üzerinde hangi çağrı çalışır?
- h.slugify('Merhaba')
- Helper.slugify('Merhaba')
- slugify('Merhaba')
- h(Helper.slugify)
Cevabı göster
h.slugify('Merhaba') — Örnek üzerinden h.metot() biçiminde çağrı yapılır.
-
Yardımcıları eşle
- slugify
- Dizge yardımcı
- clamp
- Sayı yardımcı
- formatDate
- Tarih yardımcı
-
library yönergesini tamamla
library ____;
class Helper { ... }
Cevabı göster
library helpers;
class Helper { ... }
Sıradaki ders: private