Kann jemand rüberschauen und gucken, ob ich alles richtig gelöst habe. Hab kein BlueJ auf dem PC, deshalb kann ich es nicht selber testen.
Lg
a) Die Klasse Jagdhund benötigt keine Getter- und Setter-Methoden, wenn das Attribut "groesse" in der Superklasse Hund bereits mit einem Getter- und Setter-Methoden-Paar ausgestattet ist. In diesem Fall erbt die Unterklasse Jagdhund die Methoden von der Superklasse und kann auf sie zugreifen.
b) Das Klassendiagramm für die Klassen Hund und Jagdhund könnte wie folgt aussehen:
c) Hier ist der Code für die beiden Klassen in BlueJ:
d) Hier ist der Code für die Startklasse, die Objekte der beiden Klassen instanziiert und die Methoden aufruft:
```
public class Startklasse {
public static void main(String[] args) {
Hund hund = new Hund(50);
Jagdhund jagdhund = new Jagdhund(60);
System.out.println("Hund Groesse: " + hund.getGroesse());
hund.bellen();
System.out.println("Jagdhund Groesse: " + jagdhund.get
Lg
a) Die Klasse Jagdhund benötigt keine Getter- und Setter-Methoden, wenn das Attribut "groesse" in der Superklasse Hund bereits mit einem Getter- und Setter-Methoden-Paar ausgestattet ist. In diesem Fall erbt die Unterklasse Jagdhund die Methoden von der Superklasse und kann auf sie zugreifen.
b) Das Klassendiagramm für die Klassen Hund und Jagdhund könnte wie folgt aussehen:
Code:
+-----------------+ +----------------+
| Hund | | Jagdhund |
+-----------------+ +----------------+
| - groesse: int | | |
+-----------------+ +----------------+
| + bellen(): void | | + fass(): void |
| + getGroesse(): int| | |
| + setGroesse(g: int): void | | |
+-----------------+ +----------------+
c) Hier ist der Code für die beiden Klassen in BlueJ:
Code:
public class Hund {
private int groesse;
public Hund(int groesse) {
this.groesse = groesse;
}
public void bellen() {
System.out.println("Wuff Wuff");
}
public int getGroesse() {
return groesse;
}
public void setGroesse(int groesse) {
this.groesse = groesse;
}
}
public class Jagdhund extends Hund {
public Jagdhund(int groesse) {
super(groesse);
}
public void fass() {
System.out.println("Ich habe das Hühnchen geschnappt.");
}
public void fass(String ziel) {
System.out.println("Ich habe das " + ziel + " geschnappt.");
}
}
d) Hier ist der Code für die Startklasse, die Objekte der beiden Klassen instanziiert und die Methoden aufruft:
```
public class Startklasse {
public static void main(String[] args) {
Hund hund = new Hund(50);
Jagdhund jagdhund = new Jagdhund(60);
System.out.println("Hund Groesse: " + hund.getGroesse());
hund.bellen();
System.out.println("Jagdhund Groesse: " + jagdhund.get