Fill vererbung topic
This commit is contained in:
parent
ec35c97a6f
commit
8a75612af5
50
vererbung.md
50
vererbung.md
|
@ -5,3 +5,53 @@ url: https://git.haw-hamburg.de/pm1-tutorium/slides
|
||||||
header: Programmieren 1 **Tutorium**
|
header: Programmieren 1 **Tutorium**
|
||||||
footer: Henri Burau und Eva Meinen
|
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.
|
||||||
|
|
Loading…
Reference in New Issue