Objective-C
Objective-C, ofte kaldet ObjC, Objective C og Obj-C, er et objektorienteret programmeringssprog implementeret som en udvidelse til C
Det er primært brugt i Mac OS X og GNUStep, to miljøer baseret på OpenStep-standarden, og er det primære sprog brugt i NeXTSTEP, OPENSTEP og Cocoa programmeringsbibliotekerne. Almindelig objektorienterede programmer, som ikke anvender disse biblioteker, kan også kompileres på ethvert system understøttet af gcc – gcc omfatter en Objective-C compiler.
Historie
[redigér | rediger kildetekst]I 1980'erne var struktureret programmering begyndt at være for begrænset til større softwareprojekter, som krævede en stor grad af genbrug af generiske elementer. Xerox havde implementeret Smalltalk, men da det kørte i en virtuel maskine, var det alt for langsomt til praktisk anvendelse.
Det satte Brad Cox sig for at ændre, og begyndte at udvikle et objektorienteret sprog, som byggede videre på det allerede på det tidspunkt kendte sprog C. Han udgav i 1986 bogen "Object-oriented Programming – An evolutionary approach".
Sprogets grundlag
[redigér | rediger kildetekst]Sproget er implementeret på et meget tyndt lag oven på C, og Objective-C bruger både C og Smalltalk's syntaks. OpenStep er implementeret i Cocoa og GNUStep.
Beskeder og eksempel
[redigér | rediger kildetekst]Objective-C anvender beskeder mellem objekter. Beskedsyntaksen er:
[objekt metode: parametre]
Et simpelt eksempel på et basalt objekt, som anvender OpenStep-bibliotekerne ser sådan ud:
eksempel.m
#import <Foundation/Foundation.h> #import <stdio.h> @interface Messenger : NSObject { char message[50]; } – (void) setMessage: (char *)Message; – (char*) getMessage; @end @implementation Messenger – (void) setMessage: (char*)Message { strcpy( message, Message ); } – (char*) getMessage { return message; } @end int main() { Messenger * message = [[Messenger alloc] init]; [message setMessage: "Hello, World"]; printf( "%s\n", [message getMessage] ); [message release]; }
I eksemplet ses, hvorledes der kommunikeres med den nye instans af Messenger objektet, der nedarver NSObjekt-klassen.
Programmet kan kompileres på Mac OS X i en terminal med syntaksen:
gcc eksempel.m -framework Foundation -o eksempel
Se Også
[redigér | rediger kildetekst]- C++, et andet objekt-orienteret programmeringssprog baseret på C
Eksterne henvisninger
[redigér | rediger kildetekst]Da sproget ikke er så vidtbredt som C og C++, er de fleste bøger og tutorials på engelsk.