Objective-C

Fra Wikipedia, den frie encyklopedi

Gå til: navigasjon, søk
Opprydning: Denne artikkelen trenger en opprydning for å oppfylle Wikipedias kvalitetskrav. Du kan hjelpe Wikipedia ved å forbedre den.

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

Personlige verktøy
Opprett en bok