Halli hallo,
ich wurschtel mich gerade durch die Grundlagen von Vererbung und Kapselung.
Nun habe ich hier ein paar Klassen, welche vererbt werden:
Tier --> HundeArtigesTier --> Wolf, Hund
Tier --> KatzenArtigesTier --> Löwe, Hauskatze
Ich hab unter Tier das Gewicht deklariert, PRIVATE,
dazu hab ich einen Setter angelegt, PUBLIC,
der ein Gewicht zwischen 1 und 500 kg zulässt.
Jetzt will ich den Setter in "Hauskatze" überschreiben,
weil eine solche sicher nicht 500 kg wiegen wird.
das Problem ist, ich komm nicht mehr an das PRIVATE aus Tier ran:
Was kann ich tun?
Vielen Dank schon mal
P.S.: ich hab schon reichlich gesucht aber nichts zum Thema gefunden,
hab ich den falschen Suchbegriff benutzt?
ich wurschtel mich gerade durch die Grundlagen von Vererbung und Kapselung.
Nun habe ich hier ein paar Klassen, welche vererbt werden:
Tier --> HundeArtigesTier --> Wolf, Hund
Tier --> KatzenArtigesTier --> Löwe, Hauskatze
Ich hab unter Tier das Gewicht deklariert, PRIVATE,
dazu hab ich einen Setter angelegt, PUBLIC,
der ein Gewicht zwischen 1 und 500 kg zulässt.
Java:
public class Tier {
private int _gewicht;
private int _groesse;
public void setGewicht(int gewicht) {
if (gewicht < 500 & gewicht > 1) {
_gewicht = gewicht;
} else {
System.out.println("Mit dem Gewicht des Tieres stimmt was nicht, sie wiegt "+ gewicht + " kg ???");
}
}
public int getGewicht() {
if (_gewicht > 0) {
return _gewicht;
} else {
System.out.println("Fehler beim Auslesen des Gewichtes");
return 0;
}
}
Jetzt will ich den Setter in "Hauskatze" überschreiben,
weil eine solche sicher nicht 500 kg wiegen wird.
das Problem ist, ich komm nicht mehr an das PRIVATE aus Tier ran:
Java:
@Override
public void setGewicht(int gewicht) {
// Setter für das Gewicht der Katze überschreiben
if (gewicht < 15 & gewicht > 1) {
_gewicht = gewicht;
} else {
System.out.println("Mit dem Gewicht der Katze stimmt was nicht, sie wiegt "+ gewicht + " kg ???");
}
}
Was kann ich tun?
Vielen Dank schon mal
P.S.: ich hab schon reichlich gesucht aber nichts zum Thema gefunden,
hab ich den falschen Suchbegriff benutzt?