aquasonic
Erfahrenes Mitglied
Hallo zusammen,
ich habe in meinem Studim letztens einen Test geschrieben, bei welchem mir eine Aufgabe nicht klar war. Es ging darum zwei Klassen zu machen (Punkt und Dreieck). Ein Dreieck besteht aus drei Punkten und man soll die die Fläche des Dreiecks berechnen. Weitere Anforderung war dass alle Members "private" sein sollen und keine "Getter"-Methoden geschrieben werden dürfen.
Für mich war dies nicht wirklich lösbar, da ich keine Chance sah auf die X- und Y-Koordinaten der Punkte zuzugreifen, um die Fläche zu berechnen.
Als ich beim Dozenten nachfragte, gab er mir folgende Antwort:
Ich wollte nun einmal fragen ob dies wirklich so ist? Kann man auf die privaten Member so zugreifen und gibt es wirklich keine Möglichkeit diese auf Objektebene zu schützen?
Danke für die Informationen.
Gruss
aquasonic
ich habe in meinem Studim letztens einen Test geschrieben, bei welchem mir eine Aufgabe nicht klar war. Es ging darum zwei Klassen zu machen (Punkt und Dreieck). Ein Dreieck besteht aus drei Punkten und man soll die die Fläche des Dreiecks berechnen. Weitere Anforderung war dass alle Members "private" sein sollen und keine "Getter"-Methoden geschrieben werden dürfen.
Für mich war dies nicht wirklich lösbar, da ich keine Chance sah auf die X- und Y-Koordinaten der Punkte zuzugreifen, um die Fläche zu berechnen.
Als ich beim Dozenten nachfragte, gab er mir folgende Antwort:
In Java schützt das Attribut "private" den Zugriff auf Members (=Variablen, Methoden, Inner Classes, ...) von ausserhalb der Klasse, in der dieses Attribut deklariert ist. Sie können also nicht von einem Objekt der Klasse Triangle auf private Members eines Objektes der Klasse Point zugreifen. Hingegen haben Sie in der Klasse Point sehr wohl Zugriff auf private Members dieser Klasse von einem anderen Point Objekt aus. Ein Schutz der Members auf Objektebene gibt es (mind. in Java) nicht.
Ich wollte nun einmal fragen ob dies wirklich so ist? Kann man auf die privaten Member so zugreifen und gibt es wirklich keine Möglichkeit diese auf Objektebene zu schützen?
Danke für die Informationen.
Gruss
aquasonic