Objective-C: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
MelancholieBot (dyskusja | edycje)
m robot dodaje: ka:Objective-C
+informacje o iPhone OS
Linia 1:
'''Objective-C''' to rozszerzenie języka [[C (język programowania)|C]] o możliwości obiektowe, wzorowane na [[Smalltalk]]u. '''Objective-C''' przyjął drogę całkowicie odmienną od [[C++]]. PozaJest używany głównie w [[framework]]iemu [[Cocoa]] w systemie [[Mac OS X]] nieoraz jestw szerzej[[iPhone wykorzystywanyOS]].
 
Elementy składniowe, o jakie rozszerzono w tym celu język C, używają dwóch symboli: [] oraz [[@]] (rozszerzeń składni jest oczywiście więcej, ale tylko te wchodzą w jakiekolwiek interakcje ze składnią języka C). Nawiasy kwadratowe są używane do wywoływania metod, natomiast @ do definicji specyficznych dla języka '''Objective-C'''. Istnieją też specjalnie dla '''Objective-C''' wprowadzone typy, istniejące już według reguł języka C, z których najważniejszym jest '''id'''. Typ ten jest uniwersalną "referencją do obiektu" (dokładnie to wskaźnikiem, z punktu widzenia języka C). Podobnie jak to jest w Smalltalku, klasa może utworzyć obiekt po wywołaniu na obiekcie klasy metody new:
Linia 35:
Dodatkowo, POC i GCC potrafią implementować nakładkę Objective-C również na język C++, realizując koncepcję '''Objective-C++''' (pliki kompilowane mają wtedy rozszerzenie .mm zamiast .m). Kompilator POC, odmiennie niż GNU Objective-C, pracuje podobnie jak Cfront dla C++: na podstawie plików .m (.mm) generuje kod w języku C, który następnie podlega kompilacji jako język C (lub C++).
 
Język Objective-C nieostatnio zdobyłzdobywa sobiepopularność popularnościw izwiązku wz zasadziesukcesem jesturządzeń językiemmobilnych niszowym,[[iPhone]] i nawet[[iPod nieakademickimtouch]]. JedyneInne bardziej znane projekty wykonane w tym języku to Cocoa, będący głównym [[API (informatyka)|API]] wysokopoziomowym w Mac OS X oraz [[GNUStep]], mający być implementacją systemu okienkowego [[OpenStep]], stworzonego wcześniej przez [[NeXT]] jako [[NeXTStep]]. Powiązanie owych faktów jest nieprzypadkowe: [[Apple Computer|Apple]] swego czasu przejął [[NeXT]] wraz z dobrodziejstwem inwentarza, czyli [[OpenStep]] i '''Objective-C'''.