Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Richiamare metodi e proprietà, la notazione di Objective C

Inviare messaggi o richiamare metodi? L'eredità di SmallTalk e la più recente 'dot notation'
Inviare messaggi o richiamare metodi? L'eredità di SmallTalk e la più recente 'dot notation'
Link copiato negli appunti

Nelle prossime lezioni vedremo come dichiarare una classe in ObjC. Ci soffermiamo solo un momento ad esaminare la sintassi necessaria a richiamare i metodi e le proprietà esposte da una classe.

A differenza di molti linguaggi che utilizzano il "punto" (oggetto.metodo), per la chiamata ad un metodo Objective C, ci offre la sintassi:

[oggetto metodo]

Simile a quella di SmallTalk. Per inciso, questa operazione, in SmallTalk, è considerata non tanto come la chiamata ad una "funzione", quanto l'invio di un messaggio ad un'entità. In quest'ottica potremmo rileggere la sintassi così:

[ricevente messaggio]

Il receiver può essere una istanza di una classe o la classe stessa, nel primo caso il metodo che si vuole invocare è un "metodo di istanza" nel secondo caso un "metodo di classe". Ne parleremo ancora più avanti.

Per fare un esempio, ricollegandoci al codice visto nella lezione precedente, possiamo vedere come è possibile annidare le chiamate a metodi, esaminiamo questa espressione:

[[NSAutoreleasePool alloc] init];

In questo caso abbiamo chiamato prima il metodo alloc che la classe NSAutoreleasePool eredita da NSObject. Come risultato di questa operazione abbiamo una nuova istanza di NSAutoreleasePool, dalla quale chiamiamo il metodo init.

Questo esempio rappresenta, inoltre, la modalità di inizializzazione degli oggetti in Objective C.

'Dot' notation

In realtà la "classica" notazione con il punto (dot notation) può essere utilizzata anche in ObjectiveC 2.0 per accedere alle proprietà. Ad esempio, queste righe di codice:

int valore = [oggetto proprieta];

[oggetto setProprieta:valore];

sono equivalenti a queste:

int valore = oggetto.proprieta;

oggetto.proprieta = valore;

La dot notation facilita il passaggio alla programmazione Objective C da chi proviene da java o da altri linguaggi "c like".


Ti consigliamo anche