hi,
Ah, das liegt daran, dass „for in“ nur die öffentlichen Member sieht?
richtig weil sie ja von aussen auf das object zugreift und somit auch nur die public member sieht
Ist das immer so, oder liegt das daran, dass die Methoden aus dem allgemeinen Kontext gestartet werden?
nein eine methode die in der klasse definiert ist hat natürlich auch zugriff auf private member seines objectes, sie kann jedoch nicht auf andere private members von objecte der gleichen klasse zugreiffen wie java es zb. kann
Hätten die clone-Funktionen Zugriff auf die privaten Member, wenn ich sie dem Objekt anhänge und damit aus dem Kontext des Objekts starte? Oder ist so etwas grundsätzlich unmöglich?
Nun grundsätzlich ist es schon möglich, jedoch kann man durch die privaten members nicht iterrieren, da sie keine direkte object zugehörigkeit haben also nicht über this erreichbar sind
Das würde bedeuten das eine clone methode erstens in der klasse definiert werden muss jedes memebr einzeln ausgelesen werden muss und dem clone im konstruktor übergeben werden muss, da man diese werte im geklonten objekt anders nicht setzen könnte, es sei dem man hat setter für die privaten felder
Für mich ist es kein Unterschied, ob die Felder privat oder öffentlich sind. Ich hab das nur so gemacht, weil in den Tutorien empfohlen wird, interne Objekte privat zu halten und zur Kommunikation nach außen eine öffentliche Schnittstelle anzubieten.
hm war das ein tutorial zur oop oder direkt auf jabvascript bezogen? grundsätzlich würde ich dem zustimmen doch in js muss man manchen umweg gehen um zu sein ziel zu kommen
grüsse flo