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!.

VN:F [1.9.10_1130]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.10_1130]
Rating: 0 (from 0 votes)