I sent a friend a link to a tutorial on object-oriented programming (he learned it in a "practical" way, so he gets a little confusing in the distinction between class, object, instance, ...).
Well, just to see if I still remember everything and to pass the time, I started reading it myself!
Sentence in that tutorial:
(Italian)
Inoltre, un oggetto non dovrebbe mai manipolare direttamente i dati interni (le proprietà) di un altro oggetto ma ogni tipo di comunicazione tra oggetti dovrebbe essere sempre gestita tramite l’uso di messaggi, ovvero tramite le chiamate ai metodi che un oggetto espone all’esterno.
(English)
Furthermore, an object should never directly manipulate the internal data (the properties) of another object but any type of communication between objects should always be managed through the use of messages, i.e. through the calls to the methods that an object exposes to the external.
I would have added: "not even if the "manipulator object" is an object of the same class"