Objective-C
| Objective-C | ||||
|---|---|---|---|---|
| Paradigma | objectgeoriënteerd | |||
| Verschenen | 1986 | |||
| Ontwerper | Brad Cox en Tom Love | |||
| Ontwikkelaar | 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 | |||
| ||||
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.
Kenmerken
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.
Compilers
Externe link
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.