Objective-C




Objective-C, ofte nomata mallongige Obj-C, estas objektema komputillingvo implementita kiel etendaĵo de C. Ĝi uziĝis plejparte ĉe la Mac OS X operaciumo kaj la GNUstep programaro, t.e. softvaro kiu uzas la OpenStep strukturon. Obj-C estis antaŭe la ĉefa lingvo uzata por la operaciumo NeXTSTEP, el kiu venis la OpenStep regularo. Nuntempe Obj-C plu vivas kiel la ĉefa lingvo en Mac OS X kaj GNUstep, ambaŭ OpenStep-bazitaj sistemoj.




Enhavo






  • 1 Priskribo


    • 1.1 Mesaĝoj


    • 1.2 Klasoj




  • 2 Eksteraj ligiloj





Priskribo |


Objective-C estas tre "maldika" nivelo sur C. Fakte, ĝi havas nur iujn ŝanĝojn de sintakso (por objektemaj espmrimiloj) kaj ĉirkaŭ deko de novaj terminoj. Tial, C-sciantaj povas lerni la lingvon tre rapide.



Mesaĝoj |


La ĉefa aldono de sintakso estas la mesaĝoj, kiu estas bazita sur Smalltalk.


Objektemaj programoj konzistas de objektoj intersendantaj mesaĝojn -- t.e. invitojn ruli kelkajn metodojn. En Objective-C mesaĝoj aspektas jene:


 [objekto metodo]

Ekzemple:


 cxenLongo = [@"Saluton mondo" length]; // sendu mesaĝon "rulu metodon length" al la ĉeno "Saluton mondo"

Mesaĝoj povas enskatoliĝi kaj aldoniĝi parametrojn malantaŭ dupunktoj, ekzemple


 [rezulto setFloatValue: [kvanto floatValue]*[kurzo floatValue]];


Klasoj |


Por krei siajn proprajn tipojn de objektoj oni devas priskribi ilin en klasoj. Oni priskribas klasojn per du partoj: la interfaca kaj la realiga. La interfaca parto enhavas priskribon pri stato de objekto de la klaso kaj ĝiaj kapabloj -- t.e. ĝiaj variabloj kaj metodoj. La sintakso estas la jena:


 @interface lumilo : Object {
BOOL lumas; // statuso
}
- (BOOL) lumas; // kapablo: respondu, ĉu ŝaltita
- agorduLumas: (BOOL) novaStato;
- init; // agordu komencan staton
@end

La parto implementation (realigo) eksplikas, kiel la kapabloj efektiviĝu. Tie, oni skribas la kodon de la metodoj, per la jena sintakso:


 @implementation lumilo
- (BOOL) lumas {
return lumas; // redonu variablon (vivas en alia nomspaco ol metodoj)
}
- agorduLumas: (BOOL) novaStato {
lumas = novaStato;
return self; // ĉi tio permesas ĉeni la vokojn al la metodoj
}
- init {
return [self agorduLumas: NO];
}
@end

Objektoj konstruiĝas tiam, kiam oni sendas la mesaĝon alloc al la klaso. Klasoj ankaŭ estas objektoj kun metodoj. La metodon init oni alvokas por agordi la komencan staton. Konklude la supre difinita klaso povas uziĝi jene:


 #include <stdio.h>                  // uzu norman C-an en/eligon en la ekzemplo
int main ()
{
id objekto; // id signifikas "iu objekto"
objekto = [[[lumilo alloc] init] agorduLumas: YES]; // komplexa ĉeno de vokoj al metodoj
printf ("La lumilo "objekto" %s.", [objekto lumas]?"lumas":"malhelas");
}


Eksteraj ligiloj |




  • The Objective-C Programming Language (angle)


  • http://www.dekorte.com/Objective-C/ (angle)


  • Kurso por komencantoj pri Objective-C (angle)




Popular posts from this blog

What other Star Trek series did the main TNG cast show up in?

Berlina muro

Berlina aerponto