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**
|
||||
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