Objective-C

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Objective-C
Paradigma objectgeoriënteerd
Verschenen in 1986
Ontworpen door Brad Cox en Tom Love
Typesysteem statisch, zwak, duck-typing
Implementaties GCC, Apple
Beïnvloed door Smalltalk, C
Invloed op Java, TOM
Portaal  Portaalicoon   Informatica

Objective-C is een superset van de programmeertaal C. Hij is ontwikkeld door Brad J. Cox in de jaren 80 van de twintigste eeuw, en heeft qua syntaxis wel wat weg van Smalltalk. Tegenwoordig wordt de taal het meest gebruikt in Mac OS X (voor het Cocoa-framework) en GNUstep, maar bijvoorbeeld ook in NeXTSTEP, van NeXT Computer, Inc.

[bewerken] Kenmerken

Objective-C is, in tegenstelling tot C++, een superset van C, wat inhoudt dat alles wat in C voorkomt ook geldig is in Objective-C. Het voegt echter (net als C++) de mogelijkheid toe tot object-georiënteerd programmeren, door de toevoeging van klassen. Een (instantie van een) klasse kan een zogeheten message gestuurd worden, die een methode (een stuk code) aanroept, op de volgende manier:

NSObject *anObject;
anObject = [NSObject alloc];
[anObject init];

In de eerste regel wordt de variabele "anObject" van het type NSObject gedeclareerd. Vervolgens wordt er geheugen voor "anObject" gereserveerd (alloc), tenslotte initialiseert de derde regel dit object. Messages kunnen dus gestuurd worden naar zowel klassen als instanties daarvan. Overigens wordt dit specifieke voorbeeld vaak gecombineerd tot

NSObject *anObject = [[NSObject alloc] init];

Verder voegt het ook een nieuw soort pointer toe, die als volgt gedeclareerd wordt:

id var;

Hierdoor is tijdens het schrijven en compileren van de broncode niet bekend naar wat voor gegevenstype de pointer wijst; dit wordt beslist tijdens het uitvoeren van het programma, door de runtime-environment.

[bewerken] Compilers

  • GNU GCC.
  • De clang compiler, deel van het LVVM-project.

[bewerken] Externe links