Naar inhoud springen

Objective-C

Uit Wikipedia, de vrije encyclopedie
Objective-C
Paradigma objectgeoriënteerd
Verschenen 1986
Ontworpen door Brad Cox en Tom Love
Ontwikkeld door Apple
Typesysteem statisch, zwak, duck-typing
Implementaties GCC, Apple
Beïnvloed door Smalltalk, C
Invloed op Java, TOM
Website https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html
Portaal  Portaalicoon   Informatica

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

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

NSString *string = @"Objective-C";
NSUInteger l = [string length];

In de eerste regel wordt object van het type NSString gedefinieerd met de inhoud "Objective-C". In de tweede wordt een bericht "length" naar dit object gestuurd. Dit heeft tot gevolg dat de lengte van de string teruggegeven wordt. Het is ook mogelijk berichten met parameters te sturen:

unichar ch = [string characterAtIndex:4];

Verder voegt Objective-C 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.