En aquest tema, aprendrem els fonaments de la sintaxi i l'estructura d'Objective-C. Aquest és un pas crucial per a qualsevol programador que vulgui dominar aquest llenguatge. Ens centrarem en els següents aspectes:

  1. Comentaris
  2. Directives de Preprocessador
  3. Declaració de Variables
  4. Estructura de les Funcions
  5. Estructura de les Classes

  1. Comentaris

Els comentaris són essencials per documentar el codi i fer-lo més llegible. Objective-C suporta dos tipus de comentaris:

  • Comentaris de línia única: Utilitzen //.
  • Comentaris de múltiples línies: Utilitzen /* ... */.

Exemples:

// Aquest és un comentari de línia única

/*
 Aquest és un comentari
 de múltiples línies
*/

  1. Directives de Preprocessador

Les directives de preprocessador són instruccions que es processen abans de la compilació del codi. Les més comunes són #import i #define.

  • #import: S'utilitza per incloure fitxers d'encapçalament.
  • #define: S'utilitza per definir constants o macros.

Exemples:

#import <Foundation/Foundation.h> // Inclou la llibreria Foundation

#define PI 3.14159 // Defineix una constant

  1. Declaració de Variables

Les variables en Objective-C es declaren especificant primer el tipus de dada i després el nom de la variable.

Exemples:

int age = 25; // Enter
float height = 1.75; // Coma flotant
NSString *name = @"John"; // Cadena de text

  1. Estructura de les Funcions

Les funcions en Objective-C es defineixen amb la següent estructura:

tipus_de_retorn nom_de_la_funció(tipus_de_paràmetre nom_del_paràmetre) {
    // Cos de la funció
    return valor_de_retorn;
}

Exemple:

int sum(int a, int b) {
    return a + b;
}

  1. Estructura de les Classes

Les classes en Objective-C es defineixen en dos fitxers: un fitxer d'encapçalament (.h) i un fitxer d'implementació (.m).

Fitxer d'Encapçalament (.h)

Conté la declaració de la classe, les seves propietats i mètodes.

Exemple:

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property NSString *name;
@property int age;

- (void)displayInfo;

@end

Fitxer d'Implementació (.m)

Conté la implementació dels mètodes declarats en el fitxer d'encapçalament.

Exemple:

#import "Person.h"

@implementation Person

- (void)displayInfo {
    NSLog(@"Name: %@, Age: %d", self.name, self.age);
}

@end

Exercicis Pràctics

Exercici 1: Declaració de Variables

Declara variables de diferents tipus i imprimeix els seus valors utilitzant NSLog.

Solució:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int age = 30;
        float height = 1.80;
        NSString *name = @"Alice";
        
        NSLog(@"Name: %@", name);
        NSLog(@"Age: %d", age);
        NSLog(@"Height: %.2f", height);
    }
    return 0;
}

Exercici 2: Definició i Crida de Funcions

Defineix una funció que calculi el quadrat d'un nombre i crida-la des del main.

Solució:

#import <Foundation/Foundation.h>

int square(int number) {
    return number * number;
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int num = 5;
        int result = square(num);
        
        NSLog(@"The square of %d is %d", num, result);
    }
    return 0;
}

Exercici 3: Creació d'una Classe

Crea una classe Car amb propietats make i model, i un mètode displayInfo que imprimeixi aquesta informació.

Solució:

Fitxer d'Encapçalament (Car.h):

#import <Foundation/Foundation.h>

@interface Car : NSObject

@property NSString *make;
@property NSString *model;

- (void)displayInfo;

@end

Fitxer d'Implementació (Car.m):

#import "Car.h"

@implementation Car

- (void)displayInfo {
    NSLog(@"Make: %@, Model: %@", self.make, self.model);
}

@end

Fitxer Principal (main.m):

#import <Foundation/Foundation.h>
#import "Car.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Car *myCar = [[Car alloc] init];
        myCar.make = @"Toyota";
        myCar.model = @"Corolla";
        
        [myCar displayInfo];
    }
    return 0;
}

Conclusió

En aquesta secció, hem après els fonaments de la sintaxi i l'estructura d'Objective-C, incloent comentaris, directives de preprocessador, declaració de variables, estructura de funcions i estructura de classes. Aquests conceptes són essencials per a qualsevol programador que vulgui treballar amb Objective-C. En el següent tema, explorarem els tipus de dades i les variables amb més detall.

© Copyright 2024. Tots els drets reservats