Fill vererbung topic

This commit is contained in:
Henri Burau 2020-04-29 13:38:13 +02:00
parent ec35c97a6f
commit 8a75612af5
1 changed files with 50 additions and 0 deletions

View File

@ -5,3 +5,53 @@ url: https://git.haw-hamburg.de/pm1-tutorium/slides
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Vererbung
Weitergeben von bereits geschriebenen Code an Subklassen. Sinnvoll
auch zum Aufstellen einer Vererbungshierarchie.
---
## Deklaration
```java
class Shape {
public String toString() {
return "Shape";
}
}
class Rectangle {
public String toString() {
return "Rectangle";
}
}
class Circle {
public String toString() {
return "Circle";
}
}
```
---
## Benutzung
```java
// 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.