Objective-C
Fra Wikipedia, den frie encyklopedi
Objective-C – ofte forkortet Obj-C – er et objektorientert programmeringsspråk som er realisert som en utvidelse av ANSI C. Det anvendes fremfor alt i programmermiljøene Cocoa (Mac OS X) og GNUstep, som begge to er realiseringer av den OpenStep-standarden.
Innhold |
[rediger] Beskrivelse
Objective C er en svært liten utvidelse av C. Der finnes bare et tillegg av syntaks og omtrent ti nye kodeord. Sånn sett er det veldig enkelt å lære om man kjenner til C.
[rediger] Meldinger
Objektorientert programmer er bygget opp av objekter som sender hverandre meldinger, dvs. anvisninger å utføre metoder. Meldinger i Objective-C baserer seg på Smalltalk og ser ut på følgende måte:
[objekt metode]
for eksempel:
textLengde = [@"Hallo verden!" length]; // textobjekten "Hallo verden!" skal kjøre metoden "length"
meldinger kan pakkes i hverandre og gis argumenter etter kolon:
[resultat setFloatValue: [belop floatValue]*[verd floatValue]];
[rediger] Klasser
For å skape objekter av sin egen type bør man beskrive den i en såkalt klasse. Det består av en interface-del som innholder statusen og evnene objektene av klassens typen har, dvs. interfacen deklarerer dets variabler og metoder:
#import <objc/Object.h>
@interface Lampe : Object {
BOOL lyser; // statusen
}
- (BOOL)lyser; // evnen: svar om lyser
- (void)settLyser:(BOOL)nyeStatus;
- (id)init; // sett startstatus
@end
og en implementation som beskriver hvordan evnene skal utføres:
@implementation Lampe
- (BOOL) lyser {
return lyser; // returner variablen (som lever i en annen navnrom enn metodene)
}
- (void)settLyser: (BOOL) nyeStatus {
lyser = nyeStatus;
}
- (id)init {
if (self = [super init]) {
[self settLyser:NO]:
}
return self;
}
@end
nå nye objekter kan bygges idet man sender meldingen å utføre metoden "alloc" til klassen. -- Klasser er også spesjelle objekter med metoder. -- Altså klassen fra oven kan brukes sånn:
#include <stdio.h> // bruk normale C-inn-/utgave i eksemplen
main () {
id objekten; // id mener "en eller annen objekt"
objekten = [[[Lampe alloc] init] settLyser: YES]; // kompleks pakking av meldinene
printf ("Den lampen i variablen \"objekten\" %s.", [objekten lyser]?"lyser":"er dunkel");
}
[rediger] Eksterne lenker
- The Objective-C Programming Language
- http://www.dekorte.com/Objective-C/
- Objective-C kurs til begynnerer
Ada | Algol60 | Algol-68 | APL | Assembler | awk | BASIC | BETA | BLISS | C | C++ | C# | Caml | CLU | Cobol | Concurrent C | Concurrent Pascal | Delphi | Erlang | Euclid | Forth | Fortran | Gypsy | Haskell | HyperTalk | INTERCAL | Java | JavaScript | Lisp | Mesa | ML | Modula | Modula-2 | Objective-C | OCaml | O'Haskell | Pascal | Perl | PHP | Pike | PL/I | Plankalkül | Prolog | Python | REXX | Ruby | Scheme | Simula | SML | Smalltalk | Snobol | Visual Basic

