Objective-C – La Sintaxis (Objectes, Classes i Missatges)
La sintaxis d’Objective-C és un el que podríem anomenar un super-conjunt de la sintaxis de C, per tant podrem compilar qualsevol tros de codi escrit en C amb un compilador d’Objective-C.
En termes generals la sintaxis d’Objective-C,
- L’orientació a objectes segueix els principis de Smalltalk,
- La sintaxis general, tipus de dades, declaració de funcions, preprocesador, etc segueix la sintaxis de C.
- Objective-C comunica els seus objectes seguint el paradigma del pas de missatges.
Definir una classe
Per començar veurem com és defineixen les classes en aquest llenguatge. Com en molt llenguatges l’Objective-C separa la definició de les classes en dos blocs, la interfície i la implementació.
- La interfície: S’hi declaren els mètodes, els atributs i la super classe de la mateixa.
- La implementació: Conté el codi que implementa els mètodes de la interfície.
Aquestes parts és poden escriure en un mateix fitxer, fins i tot s’hi poden definir més d’una classe, el més normal és separar-los en diferents fitxers. Normalment s’assigna la extensió .h a la interfície i la extensió .m a la implementació. Aquests fitxers és poden anomenar de qualsevol manera però convé fer-ho amb el mateix nom que la classe a definir. Convé destacar que la interfície pot ser re-utilitzada per més d’una implementació, seguint els principis de l’orientació a objectes.
Les directives
La declaració d’una interfície comença amb la comanda @interface i finalitza amb la comanda @end. Totes les directives de compilació comencen amb el caràcter arroba.
@interface ClassName : ItsSuperclass
{
instance variable declarations
}
+classMethod1;
+(return_type)classMethod2;
+(return_type)classMethod3:(param1_type)parameter_varName;
-(return_type)instanceMethod1:(param1_type)param1_varName
param2_type)param2_varName;
-(return_type)instanceMethod2WithParameter:(param1_type)param1_varName andOtherParameter:(param2_type)param2_varName;
@end
Les parts més importants de la declaració de la interfície són:
- El signe mes declara un mètode estàtic, mentre que el signe negatiu un mètode d’instància. Els mètodes estàtics no tenen accés a les variables d’instància.
- El tipus de retorn potser qualsevol objecte, o punter a objecte, d’Objective-C (NSArray *, NSImage *, or NSString *) o qualsevol tipus bàsic de C. El tipus genèric de retorn d’Objective-C és id.
- Els arguments d’un mètode comencen amb dos punts, el tipus entre parèntesis i el nom de l’argument. En alguns casos s’hi pot afegir un text descriptiu del paràmetre previ a la declaració
Ara ja sabem declarar una interfície per tant saben declarar una classe, però encara ens queda implementar-la i poder-la instanciar. En pròximes entregues seguirem tractant la sintaxis amb la implementació, la instanciació, el pas de missatges i moltes coses més.
Referències
fins l’any vinent!.


















