Objective-C
Objective-C ist eine universell einsetzbare, höhere Programmiersprache. Sie wurde 1984 entwickelt und war die primäre Sprache des Betriebssystems NeXTSTEP. Nach dem Kauf von NeXT durch Apple wurde sie zur primären Sprache für die Entwicklung von Apps für macOS und iOS. Apple entwickelte 2014 die Programmiersprache Swift als Ersatz dafür, aber sie wird von Entwicklern auf diesen Plattformen weiterhin häufig verwendet.
Objective-C ist eine Erweiterung der Programmiersprache C, die objektorientierte Programmierung unterstützt. Für alle nicht objektorientierten Vorgänge, etwa das Zuweisen von Variablen und das Deklarieren von Funktionen, verwendet sie fast dieselbe Syntax wie C. Die objektorientierten Funktionen übernehmen jedoch Syntax aus einer anderen Programmiersprache namens Smalltalk. Mit dieser Syntax kommunizieren Objekte miteinander, indem sie Nachrichten senden. Statt wie in anderen Sprachen direkt eine vorab festgelegte Methode aufzurufen, bestimmt die Objektinstanz, die eine Nachricht empfängt, dynamisch zur Laufzeit, welche Methode verwendet wird.
Eine Nachricht von einem Objekt an ein anderes sieht in Objective‑C beispielsweise so aus:
[myObject sayHello]
Dieses Codefragment sendet eine Nachricht an das Objekt namens myObject und weist es an, eine Methode namens sayHello auszuführen. Wenn die Klasse, zu der myObject gehört, eine Methode namens sayHello enthält, führt sie diese Methode aus. Andernfalls überprüft die App die Oberklasse, die die Klasse von myObject enthält, und geht in der Hierarchie weiter nach oben, bis sie die Methode findet. Andere Programmiersprachen wie C++ oder Java binden Methoden zur Kompilierungszeit an Objekte. Dadurch wird das Programm schneller, da es bereits weiß, welche Methode ausgeführt werden soll, allerdings ist es dadurch weniger flexibel.
Objective‑C enthält keine Standardbibliothek wie C++. Stattdessen verwenden alle Objective‑C-Apps eines von mehreren Software-Frameworks, die Standardfunktionen und Code enthalten. Für macOS entwickelte Apps verwenden beispielsweise das Cocoa-Framework, das im Xcode-SDK enthalten ist.
Testen Sie Ihr Wissen