PHP würde Aufrufe an private Methoden zulassen, solange sie von Instanzen derselben Klasse stammen.Warum erlaubt PHP den Aufruf privater Methoden von anderen Instanzen?
Dies ist, wie the PHP docs es erklärt:
Objekte des gleichen Typs haben Zugang zu jedem anderen privaten und geschützten Mitglieder, obwohl sie nicht die gleichen Instanzen sind. Dies liegt daran, dass die implementierungsspezifischen Details bereits innerhalb dieser Objekte bekannt sind.
Brücht die Einkapselung nicht? Wie kann die Tatsache, dass implementation specific details are known
es rechtfertigen?
p.s. Gibt es andere (objektorientierte) Sprachen, die das tun?
Meiner Meinung nach bricht es die OOP-Regeln, ist dies jedoch Ihre Frage? – Voitcus