Java Kalıtım (Genel)
ÇOKLU KALITIM (MULTI INHERITANCE)
- Java’da çoklu kalıtım interface yapılardan yapılabilir ancak normal sınıflardan çoklu kalıtım desteklenmez, bunun nedeni aslında çok açıktır. İnterface sınıfların içindeki metodlar kesinlikle soyuttur dolayısıyla bu tür sınıflardan türetilen alt sınıflar üst sınıfların aynı isimli isimli metodlarını bulundurmak zorundadır, bundandır ki hangi metodun hangi işi yapacağı zaten alt sınıfta bellidir.
- Ancak normal sınıflarda bulunan metodlar soyut olmadığından hangisinin ne iş yapacağı konusu karmaşıklığa yol açar.
- Dolayısıyla interface den çoklu kalıtım yapılabilir ama normal sınıflardan çoklu kalıtım desteklenmez.
public class Çalışan{ public void çalış(){ System.out.println(«Çalışan çalıştı»); } }
public class İnsan{ public void çalış(){ System.out.println(«insan çalıştı»); } }
public class Memur extends Çalışan,İnsan{ public void çalış(){ System.out.println(«Çalışan çalıştı»); } }
KULLANIM YANLIŞTIR, HANGİ «ÇALIŞ» METODU ÇALIŞTIRILACAK BELLİ DEĞİL!!!
public interface Çalışan{ public void çalış(); }
public interface İnsan{ public void çalış(); }
public class Memur implements Çalışan, İnsan{ public void çalış(){ System.out.println(«Çalışan çalıştı»); } }
KULLANIM DOĞRDUR, HANGİ «ÇALIŞ» METODU ÇALIŞTIRILACAK BELLİ.
Yorum gönder