Objective-C

Die Sprache Objective-C wurde1986 von Brad Cox vorgestellt und von der Stepstone Comp. entwickelt. Sie ist eine Erweiterung der Programmiersprache C um die wesentlichen Konzepte der Programmiersprache Smalltalk-80 und soll die C-spezifischen Merkmale wie Effizienz und Portabilität bewahren. Damit integriert auch Objective-C objektorientierte Sprachkonzepte. Hauptprinzip der Programmiersprache ist die Unterstützung der Wiederverwendbarkeit und Erweiterbarkeit von Software durch sogenannte Software-ICs - das sind allgemein verwendbare Module. Die Sprache wird von einem Precompiler in normalen C-Code transformiert.

Objective-C besitzt das durch die Programmiersprache C definierte Typsystem mit der Erweiterung um den vordefinierten Typ id für beliebige Objektreferenzen. Aufgrund des nicht existierenden Typsystems für Klassen, stellen diese auch keine benutzerdefinierten Typen dar. Das Klassenkonzept von Objective-C ist unabhängig vom Typsystem der Programmiersprache C.

Bei der Vererbung werden alle Merkmale geerbt. Methoden können in abgeleiteten Klassen überschrieben (reimplementiert) werden; für Attribute ist das nicht zulässig.

Da Objekte alle den gleichen Typ besitzen - es gibt kein Typsystem für Klassen - ist kein spezielles Konzept der Polymorphie notwendig. Einer Objektreferenz - das ist immer eine Variable vom Typ id - können Objekte beliebigen Typs zugewiesen werden. Das Überladen von Methoden ist nicht möglich.

Klassen werden als eigenständige Objekte sogenannte Fabrikobjekte betrachtet. Bei der Definition einer Klasse kann deshalb zwischen

unterschieden werden.

Die Attribute eines Objektes sind nach außen nicht sichtbar. Die Methoden eines Objektes definieren die Schnittstelle. Eine Unterscheidung der Zugriffsrechte innerhalb der Menge der Attribute bzw. Methoden ist nicht möglich.

Objekte besitzen für Zuweisung und Vergleich eine Referenzsemantik, während für die anderen Datentypen die Semantik der Programmiersprache C gilt.

Objective-C kennt nur die benutzerkontrollierte Erzeugung und Zerstörung von Objekten durch Aufrufe der Fabrikmethode new bzw. der Instanzmethode free. Das Laufzeitsystem bietet eine automatische Speicherverwaltung zur Freigabe nicht referenzierter Objekte an.

Eine bedeutende Anwendung fand Objective-C in großen Klassenbibliotheken.

Informationen zum Artikel
Deutsch: Objective-C
Englisch:
Veröffentlicht: 04.02.2010
Wörter: 329
Tags: C, C++, C-Sharp (C#)
Links: Attribut, Datentyp, Erweiterung, Instanz, Instanzmethode