Polimorfizm, nesneye yönelik programlamanın önemli kavramlarından biridir ve sözlük anlamı olarak "bir çok şekil" anlamına gelmektedir.Alt sınıf, türetildiği ana sınıfa ait tüm özellikleri alır; yani, ana sınıf ne yapıyorsa türetilen alt sınıfta bu işlemlerin aynısını yapabilir ama türetilen alt sınıfların kendilerine ait bir çok yeni özelliği de olabilir.Burada anlatılanları bir örnek üzerinde açıklarsak;
class Asker {
public void selamVer() {
System.out.println("Asker Selam verdi");
}
}
class Er extends Asker {
public void selamVer() {
System.out.println("Er Selam verdi");
}
}
class Yuzbasi extends Asker {
public void selamVer() {
System.out.println("Yuzbasi Selam verdi");
}
}
public class PolimorfizmOrnekBir {
public static void hazirOl(Asker a) {
a.selamVer(); // ! Dikkat !
}
public static void main(String args[]) {
Asker a = new Asker();
Er e = new Er();
Yuzbasi y = new Yuzbasi();
hazirOl(a); // yukarı cevirim ! yok !
hazirOl(e); // yukarı cevirim (upcasting)
hazirOl(y); // yukarı cevirim (upcasting)
}
}
class Asker {
public void selamVer() {
System.out.println("Asker Selam verdi");
}
}
class Er extends Asker {
public void selamVer() {
System.out.println("Er Selam verdi");
}
}
class Yuzbasi extends Asker {
public void selamVer() {
System.out.println("Yuzbasi Selam verdi");
}
}
public class PolimorfizmOrnekBir {
public static void hazirOl(Asker a) {
a.selamVer(); // ! Dikkat !
}
public static void main(String args[]) {
Asker a = new Asker();
Er e = new Er();
Yuzbasi y = new Yuzbasi();
hazirOl(a); // yukarı cevirim ! yok !
hazirOl(e); // yukarı cevirim (upcasting)
hazirOl(y); // yukarı cevirim (upcasting)
}
}
Comments
Post a Comment