18 Aralık 2015 Cuma

Polimorfizm Kavramı hakkında (Nesneye Dayalı Programlama)

Poly birden fazla manasına gelmektedir. Morph ise şekil veya görüntü anlamına gelmektedir. İkisini bir araya getirirsek birden fazla görüntüsü olan olarak ifade edebiliriz. Anlamını öğrendikten sonra programlamada nasıl kullanıldığını ve ne anlama geldiğine bakalım. Yine bunu da bir örnek ile açıklayalım. Mesela hayvan(Animal) adlı bir sınıf oluşturalım ve bunun çocukları olan Kedi (Cat) ve Köpek(Dog) adında iki tane sınıf tanımlayalım. Şimdi bu iki sınıfta da birer talk() metodu olsa ve kedi ve köpeğin çıkardığı sesleri döndürürse polymorphism’i sağlamış oluruz. Bu şu demek hayvan sınıfında olan talk() metodunu her iki sınıfta method overriding yapıyor. Bu şekilde kedi ve köpek sınıfı birbirinden farklı özelliklerde talk() metoduna sahip oluyor. Bu sadece metodlarda değil aynı zamanda Constructorlarda da geçerlidir. Aşağıda konuyla ilgili kod örnekleri vardır.
(Alıntıdır)
abstract public class Animal{
 //Her iki hayvan objesinde olan talk metodu.
 //Abstract sınıflarda metodu tanımlamak zorunda değiliz
 //ancak eğer metodu aşağıdaki şekilde yazarsak
 //java derleyicileri bu sınıfın çocuklarında metod yazılmassa
 //hata verecektir.
 public abstract String talk();
}
public class Cat extends Animal{
 //Kedi sınıfı kediye has olan miyavlama
 //sesini döndürüyor bu şekilde farklı
 //bir görünüme sahip oluyor.
 public String talk(){
  return "Miyav";
 }
}
public class Dog extends Animal{
 //Kedi sınıfı köpeğe has olan havlama
 //sesini döndürüyor bu şekilde farklı
 //bir görünüme sahip oluyor.
 public String talk(){
  return "Hav hav";
 }
}

Hiç yorum yok:

Yorum Gönder