Hallöchen ich hab hier irgendwie den Durchblick verloren.
Könnt ihr mir nur mal sagen ob ich das richtig sehe....
es heißt doch abgeleitete Klassen übernehmen immer alle Attribute der Hauptklasse..
Die abgeleitete Klasse hat doch kann dann aber trotzdem nicht auf private Attribute zugreifen ist das richtig? oder sehe ich das jetzt falsch?
Vererbung
-
jungspundi -
8. August 2009 um 18:40 -
Erledigt
-
-
Mehr erfahren →AnzeigeILS FernschuleDeutschlands größte Fernschule – 4 Wochen kostenlos testen.
-
Hallo jungspundi,
das siehst du vollkommen korrekt. Der Bezeichner private lässt nur Zugriff aus der Klasse selbst zu. Auch abgeleitete Klassen haben keinen Zugriff auf das entsprechende Attribut. Soll es von der Child-Klasse dennoch zugreifbar sein, ist der Bezeichner protected zu wählen.Viele Grüße,
ENIAC -
ok

könnte es natürlich auch komplett public machen was natürlich völlig sinnlos ist *grinst*
gibts noch ne andere Möglichkeit den Zugriff zu ermöglichen? -
Klar, die gibt es:
(1) Verwende protected. Es könnte evtl. als Nachteil gesehen werden, dass das Geheimnisprinzip bzw. das Prinzip der Datenkapselung ein wenig aufgebrochen wird. Z.B. kann jeder der eine Unterklasse schreibt, bzw. mit dieser arbeitet direkt auf die Werte zugreifen. Das kann ungeschickt sein, wenn später der Quellcode der Oberklasse geändert wird und der Wert durch eine Funktion berechnet wird. Das kann umgangen werden durch:
(2) Verwende weiterhin (und konsequent) den Bezeichner private. Für den Zugriff auf das Attribut stellst du Methoden zur Verfügung (getter & setter). Allerdings muss nicht zu jedem Attribut zwingend ein getter und ein setter existieren. In den Methoden können ggf. Rechte (Lese- Schreibrecht) geprüft werden.
Viele Grüße,
ENIAC -
mhm ok das sind 3 Varianten wie man das direkt bei der Vereinbarung regelt.... gibts auch ne Möglichkeit später im Quelltext?
-
Die Frage verstehe ich nicht.
Die Vorschläge lassen sich so implementieren :victory:Viele Grüße,
ENIAC -
*grinst*
es ist im folgenden Aufgabe ich soll 3 Möglichkeiten nennen und bewerten die es möglich machen das eine abgeleitete Klasse auf das Attribut einer Basisklasse zugreifen kann.
2 hängen direkt mit der Vereinbarung des Attributs zusammen (alos public, protected, privat) und das dritte nicht ... und da stehe ich grade aufm Schlauch -
Na dann würde ich sagen:
(1) public attrName; // direkter Zugriff
(2) protected attrName; //direkter Zugriff
(3) getAttr(); //Zugriff per get-Methodezu (3):
z.B. folgende Signatur der get-Methode:Die Methode ist öffentlich zugänglich, es spielt also keine Rolle, welche Sichtbarkeit das Attribut hat. Sinnvoll ist diese Art der Implementierung, da man volle Kontrolle über die "Berechnung" hat. D.h. wenn sich im Inneren der Methode etwas an der Berechnung verändert ist das für denjenigen, der die methode aufruft völlig egal.
Weiterer Vorteil:z.B. folgende Signatur der get-Methode:
Man kann prüfen, ob der Aufrufer entsprechende Leserechte hat. Ist das nicht der Fall kann ein Fehlerwert zurückgegeben werden.
Viele Grüße,
ENIAC -
super danke für deine Hilfe

Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!
Letzte Beiträge
-
- Thema
- Antworten
- Letzte Antwort
-
-

-
Scrum Rollen – was genau unterscheidet Product Owner und Scrum Master im Alltag? 2
- AnnaWInf
1. Oktober 2026 um 11:55 - Wirtschaftsinformatik
- AnnaWInf
1. Oktober 2026 um 16:31
-
- Antworten
- 2
- Zugriffe
- 64
2
-
-
-

-
SQL Joins – Inner, Left, Right oder Full: wie behalte ich den Überblick? 2
- MarkusWB
30. September 2026 um 10:05 - Wirtschaftsinformatik
- MarkusWB
30. September 2026 um 17:43
-
- Antworten
- 2
- Zugriffe
- 66
2
-
-
-

-
REST-API – was bedeutet eigentlich 'zustandslos', und warum ist das so wichtig? 2
- MarkusWB
29. September 2026 um 15:10 - Wirtschaftsinformatik
- MarkusWB
29. September 2026 um 22:20
-
- Antworten
- 2
- Zugriffe
- 84
2
-
-
-

-
Scrum oder Wasserfall – wie entscheide ich mich für mein Projekt in der Hausarbeit? 2
- AnnaWInf
28. September 2026 um 15:07 - Wirtschaftsinformatik
- AnnaWInf
28. September 2026 um 20:25
-
- Antworten
- 2
- Zugriffe
- 78
2
-
-
-

-
O-Notation: Warum ist O(n log n) so viel besser als O(n²) – und wie lese ich das aus Code ab? 4
- AnnaWInf
25. September 2026 um 15:20 - Wirtschaftsinformatik
- AnnaWInf
28. September 2026 um 18:05
-
- Antworten
- 4
- Zugriffe
- 128
4
-
-
-

-
Cookies, Sessions, Tokens – woher weiß eine Webseite eigentlich, dass ich noch eingeloggt bin? 2
- Sophie99
20. September 2026 um 18:10 - Wirtschaftsinformatik
- Sophie99
20. September 2026 um 22:15
-
- Antworten
- 2
- Zugriffe
- 124
2
-
-
-

-
Git im Gruppenprojekt: Ständig Merge-Konflikte – wie arbeitet man mit Branches eigentlich richtig? 3
- MarkusWB
17. September 2026 um 17:15 - Wirtschaftsinformatik
- MarkusWB
18. September 2026 um 07:20
-
- Antworten
- 3
- Zugriffe
- 169
3
-
-
-

-
Virtuelle Maschine oder Container – in der Vorlesung klang das gleich, im Praktikum ist es das überhaupt nicht 3
- AnnaWInf
15. September 2026 um 17:30 - Wirtschaftsinformatik
- AnnaWInf
16. September 2026 um 21:40
-
- Antworten
- 3
- Zugriffe
- 171
3
-
-
-

-
Passwörter speichern: Warum hasht man sie, statt sie zu verschlüsseln – und wozu dann noch ein „Salt“? 3
- KevinFernuni
13. September 2026 um 19:05 - Wirtschaftsinformatik
- KevinFernuni
14. September 2026 um 18:50
-
- Antworten
- 3
- Zugriffe
- 134
3
-
-
-

-
Unit-Test, Integrationstest, Abnahmetest – wer testet eigentlich was, und was hat das Pflichtenheft damit zu tun? 3
- Sophie99
11. September 2026 um 18:15 - Wirtschaftsinformatik
- Sophie99
12. September 2026 um 20:50
-
- Antworten
- 3
- Zugriffe
- 147
3
-