Dart dilinde örnekli polimorfizm kavramı

Gauloran

Global Moderatör
7 Tem 2013
8,127
618
Polimorfizm Nedir?

Nesne yönenimli programlama dillerinde çok biçimlilik aynı temel sınıftan türetilmiş olan yeni sınıflarda metotların farklı şekillerde davranabilmesidir. çok biçimlilik anlamına gelir bazı senaryolarda
if else vs. yaziyoruz fakat yazilim hep if elselerle gidemez cesitli database entegrasyonlarında aynı metodları saglayip kullanacaksak vs. polimorfizm kullanmak sart oluyor

ana fonksiyonumuz boyle olsun
Kod:
void main(List<String> args) {
  IUser user =
      Turk(); //!Turk sınıfından bir nesne oluşturduk ve bunun türü IUser çünkü Turk sınıfı IUser sınıfından implemente edilmiş zaten işte bu polimorfizm diyebiliriz
  user.sayName();
  user =
      English(); //!user nesnesine English sınıfından bir nesne yerleştirdik yapabiliriz bunu çünkü English sınıfı da IUser sınıfından implemente edilmiş
  user.sayName();
}

IUser diye bir soyut sınıf da oluşturalım
Kod:
abstract class IUser {
  final String name;
  IUser(this.name);
  void sayName();
}

şimdi Turk diye bir sınıf oluşturup IUser sınıfından implemente edelim
Kod:
class Turk implements IUser {
  @override
  String get name => "ali";
  @override
  void sayName() {
    print("merhaba hoşgeldin $name");
  }
}


English diye bir sınıf da oluşturalım IUser sınıfından implemente edelim
Kod:
class English implements IUser {
  @override
  String get name => "john";
  @override
  void sayName() {
    print("welcome to your home $name");
  }
}

böylece ana fonksiyonda
Kod:
 IUser user = Turk(); //!Turk sınıfından bir nesne oluşturduk ve bunun türü IUser çünkü Turk sınıfı IUser sınıfından implemente edilmiş zaten işte bu polimorfizm diyebiliriz
  user.sayName();
  user = English(); //!user nesnesine English sınıfından bir nesne yerleştirdik yapabiliriz bunu çünkü English sınıfı da IUser sınıfından implemente edilmiş
  user.sayName();

bu kullanımı yapabilmemiz polimorfizm kavramına ornektir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.