Kalıtım

Java da Kalıtım:
Nesne Yönelimli Programlama dillerinde kalıtım olgusu, bir sınıfta (class) tanımlanmış değişkenlerin ve/veya metotların (fonksiyon, procedure) yeniden tanımlanmasına gerek olmaksızın yeni bir sınıfa taşınabilmesidir. Bunun için yapılan iş, bir sınıftan bir alt-sınıf (subclass) türetmektir. Türetilen alt-sınıf, üst-sınıfta tanımlı olan bütün değişkenlere ve metotlara sahip olur. Bu özeliğe kalıtım özeliği (inheritance) diyoruz.



class Animal{
 
 public void seslen()
 {System.out.println("Hayvannn");}
  
}

class Dogs extends Animal
{
@Override
public void seslen()
{
 System.out.println("Hav havv");
}
 
}

class Cats extends Animal
{
@Override
public void seslen()
{
System.out.println("Miyav miyavvv"); 
}

}


public class OverrideOrnek {

  public static void main(String[] args) {
 
  Cats kedi = new Cats();
 // Burada Cats sınıfına yazdığımız 'miyav' çalışır, animal sınıfından kalıttık ve override ile üzerine ezme yaptık.
  
  Dogs kop= new Dogs();// Dogs sınıfına yazdığımız çalışır.
  Animal hay = new Animal();//Animal sınıfında yazdığımız çalışır.
  Animal kopek= new Dogs();// Obje Dogs sınıfında tanımlandığından 'Hav Havv' yazdırır.
  kedi.seslen();
  kop.seslen();
  hay.seslen();
  kopek.seslen();
 }
/*Static metodlar ve değişkenler override edilemezler.
 * public > protected > default >private
 * Private sınırlı erişim old. override edilemezler.
 */




}

#inheritance, #java, #java-dersleri, #kalitim