Kapselung nich vollständig umgesetzt in Java?

Status
Nicht offen für weitere Antworten.

thaag

Mitglied
Hallo,
ich bin grad bei der Abivorbereitung und dabei ist mir folgendes aufgefallen.
Kapselung erfolgt ja generell auf Klassenebene.

Ich habe ein Objekt a1 der Klasse A und ein Objekt a2 der Klasse B und B ist eine Unterklasse von A.

Wenn in A jetzt Attribute mit der Sichtbarkeit protected versehen sind müssen diese doch definitionsgemäß in allen Klassen und Unterklassen von A sichtbar sein. Das heißt folgendes müsste funktionieren:

Code:
// In Klasse kapselung.package2.B:

kapselung.package1.A a1 = new kapselung.package1.A();
System.out.println(a1.protectedVariable);

Tja das fuunktioniert aber nicht, man kann in B natürlich mit this.protectedVariable auf die Variable im eigene Objekt zugreifen aber das wäre ja dann wieder auf Objektebene und die Kapselung sollte ja theoretisch auf Klassenebene stattfinden.

Nun meine Frage: Bin ich da irgendwie grad auf dem Holzweg oder ist die Kapselung da einfach schlecht umgesetzt in Java?

Gruß Tobi
 

Ebenius

Top Contributor
Die Sichtbarkeit bei protected beschränkt sich auf die this- und auf die super-Referenz.

Ebenius
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben