Vererbung verletzt generell Kapselung, die eine Klasse bietet.

cheat.008

Aktives Mitglied
Stimmt das oder nicht?
Angenommen Klasse B erbt von Klasse A und Klasse A hat private Attribute, dann werden die doch von Klasse B nicht mitgeerbt und somit ist die Datenkapselung doch nicht verletzt worden oder?
 

Tarrew

Top Contributor
Die Unterklasse enthält auch die privaten Attribute, sie sind für die Unterklasse nur nicht sichtbar.
Java:
public class Test {
    public static void main(String[] args) {
        Unterklasse u = new Unterklasse();
        u.print();
    }

    static class Oberklasse {
        private String text = "Irgendein Text";

        public void print() {
            System.out.println(text);
        }
    }

    static class Unterklasse extends Oberklasse {

    }
}
 

cheat.008

Aktives Mitglied
Ok, also ist die Kapselung ja doch verletzt.

Oder wie interpretiert man das dann? Denn die Unterklasse sieht die priv. Attribute ja nicht.
 

Tarrew

Top Contributor
Ich kann deinen Gedankengang erlich gesagt nicht ganz nachvollziehen.

Warum sollte die Datenkapselung verletzt sein, wenn die Unterklasse die privaten Attribute nicht sieht? Wie ist deine Definiton von Datenkapselung ?
 

Neue Themen


Oben