polymorphisn

class Hayvan{ private String isim; public Hayvan(String isim) { this.isim = isim; }

public String getIsim() { return isim; }

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

public String konus(){ return "Hayvan Konuşuyor..."; } }

class Kedi extends Hayvan{ public Kedi(String isim) { super(isim);
}

@Override public String konus() { return this.getIsim() + " Miyavlıyor...";
} }

class Kopek extends Hayvan { public Kopek(String isim) { super(isim);
}

@Override public String konus() { return this.getIsim() + " Havlıyor...";
} }

class At extends Hayvan { public At(String isim) { super(isim);
}

@Override public String konus() { return this.getIsim() + " Kişniyor...";
} }

public class Main { public static void konustur(Hayvan hayvan) {
System.out.println(hayvan.konus()); }

public static void main(String[] args) { System.out.println(hayvan.konus()); Hayvan hayvan1 = new Kedi("Hiper");
System.out.println(hayvan1.konus()); Hayvan hayvan2 = new Kopek("Hiper");
System.out.println(hayvan2.konus()); Hayvan hayvan3 = new At("Hiper");
System.out.println(hayvan3.konus());

konustur(new Kopek("Karabaş")); konustur(new At("Bold-Pilot"));
} }