Objective-C
Objective-C is een algemene, hoog-niveau programmeertaal. De taal werd in 1984 ontwikkeld en was de primaire taal voor het besturingssysteem NeXTSTEP. Nadat Apple NeXT had gekocht, werd Objective-C de primaire taal voor het schrijven van apps voor macOS en iOS. Apple ontwikkelde in 2014 de programmeertaal Swift als vervanging, maar de taal wordt nog steeds veel gebruikt door ontwikkelaars op die platforms.
Objective-C is een uitbreiding van de programmeertaal C, waaraan functies voor objectgeoriënteerd programmeren zijn toegevoegd. Voor alle niet-objectgeoriënteerde bewerkingen, zoals het toewijzen van variabelen en het declareren van functies, gebruikt de taal vrijwel dezelfde syntaxis als C. De objectgeoriënteerde functies zijn echter gebaseerd op de syntaxis van een andere programmeertaal genaamd Smalltalk. Met deze syntaxis communiceren objecten met elkaar door berichten te verzenden. In plaats van rechtstreeks een vooraf bepaalde methode aan te roepen, zoals in andere talen, bepaalt de objectinstantie die een bericht ontvangt dynamisch welke methode tijdens de runtime moet worden gebruikt.
Een bericht van het ene object naar het andere ziet er in Objective‑C bijvoorbeeld als volgt uit:
[myObject sayHello]
Dit codefragment stuurt een bericht naar het object met de naam myObject en geeft het de opdracht een methode met de naam sayHello uit te voeren. Als de klasse waartoe myObject behoort een methode met de naam sayHello bevat, wordt die methode uitgevoerd. Anders controleert de app de superklasse die de klasse van myObject bevat en gaat deze verder omhoog in de hiërarchie totdat de methode is gevonden. Andere programmeertalen, zoals C++ of Java, koppelen methoden tijdens het compileren aan objecten. Hierdoor is het programma sneller, omdat het al weet welke methode moet worden uitgevoerd, maar het wordt minder flexibel.
Objective‑C bevat geen standaardbibliotheek zoals C++ die wel heeft. In plaats daarvan gebruiken alle Objective‑C-apps een van verschillende software-frameworks met standaardfuncties en code. Apps die voor macOS zijn ontwikkeld, gebruiken bijvoorbeeld het Cocoa-framework, dat onderdeel is van de Xcode-SDK.
Test je kennis