Quello che segue è lo pseudo codice, l'ho provato in Java e PHP ed entrambi hanno funzionato:
class Test {
private int a = 5;
public static function do_test(){
var t = new Test();
t.a = 1;
print t.a // 1
}
}
Test::do_test();
Perché puoi farlo nel paradigma OOP e a che cosa serve?
this
, quindi gli unici oggetti della loro stessa classe a cui possono arrivare sono quelli che creano loro stessi (o che vengono passati come parametro). Quindi se consideri questa una violazione dell'incapsulamento o di una falla di sicurezza, non è come se fosse una grande, e potrebbe non valere la pena collegarla.
equals
quello di controllare i campi privati di un'altra istanza. (Pubblicazione come commento, in quanto breve, e nulla sull'oop-ness di questo approccio)