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…
Leave a Reply