Java Eğitimleri 29 – Method Overriding

Kalıtım oluştururken, türetilen sınıf, türetildiği sınıfın tüm özelliklerini taşır. Ancak oluşturduğumuz kodları bazen değiştirmek isteyebiliriz. Birebir türettiğimiz sınıftaki özelliklerden daha fazla özellik taşımasını sağlayabiliriz.

Method overriding işlemini yaparken dikkat etmemiz gereken bazı kurallar vardır. Bunlar:

  • Metodun adı aynı olmalıdır.
  • Override edilen metod, override edildiği metottan daha kısıtlı erişime sahip olmamalıdır.
  • Metodun return tipi aynı olmalıdır.

 

 

Kalıtım konusunu anlatırken oluşturduğumuz soruda da override işlemini yapmış ve yardımcı deyim olarak da super deyimini kullanmıştık. Yine buna benzer bir örnek çözelim:

 

3 sınıf oluşturuyoruz: Main, Yonetici ve Calisan.

 

 

Calisan sınıfımızdaki kodlarımız:

 

public class Calisan {

    private double maas;
    private String isim;
    private String soyisim;
    
    
    
    public Calisan(double maas, String isim, String soyisim) {
        
        this.maas = maas;
        this.isim = isim;
        this.soyisim = soyisim;
    }
    
    
    
    public double getMaas() {
        return maas;
    }



    public void setMaas(double maas) {
        this.maas = maas;
    }



    public String getIsim() {
        return isim;
    }



    public void setIsim(String isim) {
        this.isim = isim;
    }



    public String getSoyisim() {
        return soyisim;
    }



    public void setSoyisim(String soyisim) {
        this.soyisim = soyisim;
    }



    public void BilgileriGoster(){
        
        
        System.out.println("İsim       : " + isim);
        System.out.println("Soyisim    : " + soyisim);
        System.out.println("Maaşı      : " + maas); 
        
    }
    
    
    
    
    
}

 

Yonetici adlı sınıfımızdaki kodlarımız:

 

public class Yonetici extends Calisan {
    
    private String departman;   
    
    public Yonetici(double maas, String isim, String soyisim, String departman) {
        
        
        super(maas, isim, soyisim);
        
        this.departman = departman;
    }

    
    public void BilgileriGoster(){ //Overriding İşlemi
        
        super.BilgileriGoster();
        
        System.out.println("Departmanı : " + this.departman);
        
        
    }
    
    
}

 

Main adlı sınıfımızdaki kodlarımız:

 

public class Main {

    public static void main(String[] args) {
        
        Yonetici y = new Yonetici(3500, "Fatma", "Cengiz", "Üretim Planlama");
        
        y.BilgileriGoster();
        
        
        

    }

}

 

BilgileriGoster adlı sınıfımızdaki kodlara ek olarak kullanıcının departmanını override işlemiyle eklemiş olduk. Çıktımız:

 

 

Override işlemlerini en basit haliyle anlatmaya çalıştık. Umarım faydalı olmuştur. İyi çalışmalar…

 

Published by

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s