Programmieren_1/vererbung.md

1.2 KiB

Vererbung

Weitergeben von bereits geschriebenen Code an Subklassen. Sinnvoll auch zum Aufstellen einer Vererbungshierarchie.


Deklaration

class Shape {
	public String toString() {
		return "Shape";
	}
}

class Rectangle {
	public String toString() {
		return "Rectangle";
	}
}

class Circle {
	public String toString() {
		return "Circle";
	}
}

Benutzung

// In main...
Shape shape = new Shape();
Rectangle rectangle = new Rectangle();
shape.toString();
rectangle.toString();
shape = rectangle;
shape.toString();

Aufgaben

  • Schreibe eine Klasse Cow, welche dieselben Methoden hat wie ein Sheep
  • Ergänze Cow und Sheep um eine Methode String makeNoise(), ein Schaf soll "Mäh" zurückgeben, eine Cow "Muh".
  • Schreibe nun eine Klasse Animal. Von dieser Klasse sollen Sheep und Cow erben. Alle Methoden die bei Sheep und Cow genau gleich sind, sollen nun in die Superklasse Animal verschoben werden.
  • Ändere den Shepherd so ab, dass er nur noch Animal akzeptiert.