Java’da Kalıtım (Inheritance )
Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar. Türetilen bu yeni sınıflar, türetildiği sınıfların özelliklerini sağlarlar. Burada üreten sınıf Super class(üst sınıf), oluşan yeni sınıflar ise Sub class(alt sınıf) şeklinde hiyerarşiye sahiptir. Kalıtım yapmak için kullanacağımız kelime extends’ dir.
Aşağıdaki örneğimizde yaptığmız kalıtımla başka sınıftaki metoda erişebildiğini gösterelim;
Arac Sınıfı:
1 2 3 4 5 6 7 |
package javaapplication2; public class Arac { public void freneBas(){ System.out.println("frene basıldı."); } } |
Otomobil Sınıfı:
1 2 3 4 5 6 7 8 9 10 |
package javaapplication2; class Otomobil extends Arac { public static void main(String[] args) { Otomobil o=new Otomobil(); o.freneBas(); } } |
Not: Super sınnıfın birden fazla alt(sub) sınıfa sahip olabilir, ama alt(alt) sınıflar birden fazla super sınıftan türetilemez.
Kalıtım ve üst-alt sınıf örneği;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
package javaapplication1; class Hayvan{//Super class public Hayvan(){ System.out.println("Hayvan sınıfının yapıcısı"); } } class Surungenler extends Hayvan{//Sub class public Surungenler(){ System.out.println("Surungenler sınıfının yapıcısı"); } } class Yılan extends Surungenler{//Sub class public Yılan(){ System.out.println("Yılan sınıfının yapıcısı"); } } public class JavaApplication1 { public static void main(String[] args) { Yılan h=new Yılan(); } } |
Örneğimizde gördüğünüz gibi hayvan sınıfından kalıtım ile surungenler, surungenler sınıfı ile kalıtım ile yılan sınıfları oluşturduk. En son oluşturduğumuz nesne ile en üst seviyedeki super class’ın yapıcı metodu çeğrıldı. sırası ile diğer metodlarımız.