12 Object Orientation – 03 Overridden

Merhaba Arkadaslar,
Bu yazimda Java da Overriding kavramindan bahsedecegim .Javada bir sinifi kalittigimizda (extends) ust sinifta bulunan bir metodu alt sinifta ezebiliriz/override. Hatirlayacagimiz gibi final olarak tanimlanan metotlar override edilemezler.

Test sinifimiz uzerinde devam edelim..

TestAnimals.java

class Animal {

        int height=15;
	static int size=10;

	public void eat() {
		System.out.println("Animal-Eat");
	}
	static void breathe() {
		System.out.println("Animal- Breath");
	}
}

class Bird extends Animal {

        int height=3;
	static int size=5;

	@Override
	public void eat() {
		System.out.println("Bird-Eat");
	}

	static void breathe() {
		System.out.println("Bird- Breath");
	}

	public void fly() {
		System.out.println("Bird-fly");
	}
}

public class TestAnimals {
	public static void main(String[] args) {
		Animal a = new Animal();
		Animal b = new Bird();
		Bird c = new Bird();
               //Bird d = new Animal();

		a.eat();
		b.eat();
		c.eat();

		a.breathe();
		b.breathe();
		c.breathe();

		//a.fly(); 
		//b.fly();
		c.fly();

		System.out.println(a.height + " "+ a.size);
		System.out.println(b.height + " "+ b.size);
		System.out.println(c.height + " "+ c.size);
	}
}
  • Bird sinifi Animal sinifini kalitmaktadir ve eat() metodunu ezmektedir. @Override notasyonunu kullanabiliriz.
  • static metotlar override edilmezler, tekrar tanimlanirlar /redefined.

Continue reading 12 Object Orientation – 03 Overridden