Supportnet / Forum / Anwendungen(Java,C++...)
Speichern in Attributen nach Vererbung
Frage
Hallo,
Verständnis-Problem mit OOP:
Habe eine Klasse Fläche, die das private Attribut Flächeninhalt besitzt.
Von dieser Klasse habe ich die Klasse Rechteck abgeleitet, welche die privaten Attribute Länge und Höhe besitzt. Ich möchte nun den Flächeninhalt für das Rechteck berechnen lassen und in Flächeninhalt (geerbt von Klasse Fläche) speichern.
Frage: Muss ich, um den Flächeninhalt zu setzen, eine Methode der Klasse Fläche aufrufen? Ich wollte mit einer Methode, die in Rechteck implementiert ist, darauf zugreifen, kriege jedoch beim Kompilieren eine Fehlermeldung, dass dieses Attribut privat sei. Dabei dachte ich, die abgeleitete Klasse erbt das Attribut?
Antwort 1 von hendrikw
Privat ist privat. Mit protected können abgeleitete Klassen Zugriff erhalten.
mfg
Hendrik
mfg
Hendrik
Antwort 2 von disco
moin
um an die attribute ranzukommen brauchst du getter und setter methoden.
privat int anzahl;
public int getAnzahl()
{
return anzahl;
}
public void setAnzahl(int a)
{
anzahl = a;
}
wenn du eine klasse von einer aderen ableitest, dann kennt die abgeleitete klasse die methoden ihrer oberklasse.
hth?!
g,
disco
um an die attribute ranzukommen brauchst du getter und setter methoden.
privat int anzahl;
public int getAnzahl()
{
return anzahl;
}
public void setAnzahl(int a)
{
anzahl = a;
}
wenn du eine klasse von einer aderen ableitest, dann kennt die abgeleitete klasse die methoden ihrer oberklasse.
hth?!
g,
disco
Antwort 3 von daneil
Alles klar!
Hab ich verstanden. Danke!
Hab ich verstanden. Danke!

