CodeBlanks Logo Icon CodeBlanks

Özet - Native extension

extension method, operator ve generic'i birleştirerek bir string yardımcı extension'ı yazarsın.

Özet: Native extension

Bu grupta Dart extension'larını gördük: extension var olan türe dışarıdan metot ekler; extension method this ile erişir; extension operator operatör aşırı yükler.

Generic extension tür parametresi alır; extension vs subclass kararında durum ve polymorphism belirleyicidir. Bu özette tüm bu kavramları birleştiren bir string yardımcı extension'ı yazacaksın.

Uygulama Özet: StringEx extension

Bir StringEx extension'ı tanımla: on String olsun ve iki metot içersin: String shout() => toUpperCase() + '!'; ve int wordCount() => split(' ').length;. main içinde print('merhaba dünya'.shout()); ve print('merhaba dünya'.wordCount()); çağrılarını ekle.

Başlangıç kodu

main.dart
void main() {
  // StringEx extension'ını tanımla (on String; shout ve wordCount)
  // shout ve wordCount çağrılarını yazdır
}

Örnek çözüm

main.dart
extension StringEx on String {
  String shout() => toUpperCase() + '!';
  int wordCount() => split(' ').length;
}

void main() {
  print('merhaba dünya'.shout());
  print('merhaba dünya'.wordCount());
}

Beklenen çıktı

MERHABA DÜNYA!
2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Extension metodları nasıl çözümlenir?

  • Derleme anında statik Doğru cevap
  • Hiç çözümlenmez
  • Çalışma anında dinamik
  • Alt sınıfta

Açıklama: extension metodları derleme anında statik olarak çözümlenir.

2 Extension kavramlarını eşleştir

Kavram Anlamı
extension method This ile erişim
extension operator Operatör aşırı yükleme
generic extension Tür parametresi
subclass Kalıtım ve polymorphism

3 Extension adı

Soru
extension ____ on String {
  String shout() => toUpperCase() + '!';
}
Cevap
extension StringShout on String {
  String shout() => toUpperCase() + '!';
}

Açıklama: StringShout extension'ın adıdır.

Uzman bölümündeki tüm dersler