La definizione di classe in Objective-C e’ un prototipo per un certo tipo di oggetto. Esso contiene le variabili di istanza e definisce l’insieme dei metodi che l’oggetto puo’ usare nella classe. Il compilatore crea un solo oggetto accessibile per ogni classe, definito “class object“. Read more… »
Archives for giugno, 2009
Objective-c fornisce il punto (.) come operatore per dare una sintassi compatta che puo’ essere usata in alternativa alle parentesi quadre ([]) per invocare metodi di accesso. Questa sintassi e’ molto utile quando si vuole accedere o modificare una “property”. Read more… »
Una differenza sostanziale tra funzioni e messaggi e’ che una funzione e i suoi argomenti sono uniti assieme nel codice compilato, mentre i messaggi e gli oggetti riceventi non sono uniti finche’ il programma non gira e il messaggio e’ inviato. Inoltre il corretto metodo che e’ invocato per rispondere al messaggio puo’ essere determinato solo a runtime e non quando il codice e’ compilato. Read more… »
Un oggetto puo’ chiamare solo i metodi che sono stati definiti per esso. Non puo’ essere che vengano confusi con metodi di altri oggetti anche se metodi di altri oggetti portano lo stesso nome! Questo significa che due oggetti possono rispondere in modo diverso allo stesso messaggio. Read more… »
Un metodo ha automaticamente accesso alle variabili d’istanza dell’oggetto che lo chiama. Quindi NON e’ necessario passare le variabili d’istanza come parametro.
Questa convenzione porta notevoli semplificazioni di codice. Se pero’ il metodo ha bisogno di accedere ad una variabile di un altro oggetto deve "spedire un messaggio" (chiamare un metodo) chidendo di farsi dare il contenuto della variabile.
Luca