Page 1337 - Informatica dalla A a Z
P. 1337
Approfondimento: Uguaglianza tra Oggetti.
Il concetto di uguaglianza tra oggetti è diverso rispetto all’uguaglianza tra le variabili.
Due variabili sono uguali se contengono lo stesso valore.
Per esempio,
int v1 = 10;
int v2 = 10;
Le variabili v1 e v2 sono uguali: se si confrontano con l’operatore == viene restituito il valore
true.
Due oggetti sono uguali se contengono il riferimento alla stessa area di memoria.
Per esempio:
Cerchio c1 = new Cerchio( lO);
Cerchio c2 = new Cerchio( lO);
Cerchio c3 = c1;
Gli oggetti c1 e c2 sono diversi: se si confrontano con l’operatore == viene restituito il valore
false. Invece gli oggetti c1 e c3 sono uguali.
Nota: Il confronto tra gli oggetti, usando l’operatore ==, verifica l’uguaglianza dei riferi-
menti piuttosto che l’uguaglianza degli attributi dell’oggetto
Dopo aver creato l’oggetto, esso può essere utilizzato in due modi:
• accedendo e manipolando il valore dei suoi attributi,
• invocando ed eseguendo i suoi metodi.
Per accedere agli attributi di un oggetto usando l’operatore (.):
nomeOggetto.attributo
L’invocazione di un metodo viene eseguita usando l’operatore punto nel seguente modo:
nomeOggetto.metodo(parametri)
Nota: Nella programmazione orientata agli oggetti, si usa il termine “scambio di messaggi”
per indicare l’interazione tra gli oggetti, realizzata tramite l’invocazione dei metodi.
Quando un oggetto vuole comunicare con un altro per eseguire un’azione, gli manda un
messaggio.
Nota: i metodi, per essere richiamati, devono possedere un corretto livello di visibilità.
Un oggetto o un programma può interagire con un oggetto per diversi motivi: per modifi-
carne lo stato, per richiedere un’informazione o per attivare un comportamento.
1333