Objective-C Class definitie

In: Afstuderen

23 Apr 2010

Net als andere object georiënteerde programmeertalen wordt ook binnen Objective-C gebruik gemaakt van classes. Een Objective-C class bestaat uit twee bestanden een header (.h) en source/main (.m) file.

Header file
In de header file wordt de interface van de class bepaald. Hier worden variabelen en methods gedefinieerd.

In het @interface gedeelte worden de variabelen gedefinieerd. Onder het @interface gedeelte worden de class methods gedefineerd. De headerfile wordt afgesloten met @end, dit geeft aan dat het einde van de header is bereikt.

@interface ClassName: ParentClass
{
// Variable declarations

NSString *string;
NSArray *array;
}

// Method declarations

- (void) methodName:(NSString *)theString;
+ (void) method2Name;

@end

Source/main file
In de source file bevindt zich de implementatie van de in de header file gedefinieerde methods.

Een source file begint met @implementation gevolgd door de naam van de class. Na deze openingstag volgen de implementaties van de in de headfile gedefinieerde methods.

@implementation ClassName

- (void) methodName:(NSString *)theString
{
// Code
}

+ (void) method2Name
{
// Code
}

@end

Methods
In het hier voorgaande voorbeeld zien we twee verschillende method declaraties:

- (void) methodName:(NSString *)theString;
+ (void) method2Name;

Methods startende met een – zijn instance methods en + methods zijn class methods. Het verschil is de manier waarop een method gebruikt wordt. Een instance method wordt op de volgende manier aangeroepen vanuit een andere class:

ClassName *class = [[ClassName alloc] init];
[class methodName:@”stringValue”];

Het aanroepen van een class method gaat als volgt:

[ClassName method2Name];

Na het + of – teken volgt de return value, in dit geval void. De return value kan uit verschillende objecten bestaan zoals NSString, NSArray of Bool.

De return value wordt gevolgd door de method naam, methodName en method2Name. Na de method naam kunnen attributen opgenomen worden in de method, (NSString *)theString. Als eerste wordt het type gedefinieerd, in dit geval NSString, gevolgd door de naam, theString.

Dit alles zorgt voor de basis opbouw van een class. Door het combineren van meerder classes ontstaat een bestandstructuur die samenwerken binnen een applicatie. Classes maken het hergebruik van code mogelijk waardoor de code overzichtelijk blijft en daardoor eenvoudig aan te passen.

Comment Form

Twitter