- 7 Tem 2013
- 8,203
- 678
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
IUser diye bir soyut sınıf da oluşturalım
şimdi Turk diye bir sınıf oluşturup IUser sınıfından implemente edelim
English diye bir sınıf da oluşturalım IUser sınıfından implemente edelim
böylece ana fonksiyonda
bu kullanımı yapabilmemiz polimorfizm kavramına ornektir.
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.