Pozytywne informacje z Polski i ze Świata.

Tutaj znajdziesz je wszystkie!

Objective-C

Z Wikipedii

Skocz do: nawigacji, szukaj

Objective-C to rozszerzenie języka C o możliwości obiektowe, wzorowane na Smalltalku. Objective-C przyjął drogę całkowicie odmienną od C++. Poza frameworkiem Cocoa w systemie Mac OS X nie jest szerzej wykorzystywany.

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:

id object = [Klasa new];

Tak jak to jest w językach obiektowych, do zaprogramowania czegokolwiek należy stworzyć klasę. Tworzy się ją dwuetapowo: najpierw w pliku .h definiujemy nagłówki metod oraz pola wewnątrz definicji @interface, a potem w pliku .m (pliku z definicjami fizycznymi) - @implementation, gdzie zawierają się definicje metod.

Wartym wspomnienia elementem jest dodatkowa dyrektywa preprocesora #import, która odpowiada #include, lecz nie potrzebuje makrowartowników (plik raz wczytany w danej jednostce kompilacji nie będzie wczytany przy następnych dyrektywach #import).

W składni Objective-C istnieje mnóstwo podobieństw do Smalltalka, co objawia się m.in. charakterystycznymi dla tego języka "wielosłownymi" nazwami metod (zwanych selektorami), tzn. metoda ma w odpowiednich miejscach dwukropki i na tych pozycjach podczas wywoływania będą przekazywane argumenty, np.:

[object setA: 5 andB: 10];

Istotne różnice w stosunku do Smalltalka są wymuszone przez konieczność używania statycznej typizacji w języku C. Dlatego właśnie w definicjach metod, odmiennie niż w Smalltalku, należy podawać jawnie typ argumentu, jeśli nie jest to id:

-setA: (int)a andB: (int) b;

Znak '-' oznacza, że jest to metoda obiektu. Mógłby być to też '+', wtedy byłaby to metoda klasy (odpowiednik metody statycznej w C++).

Kwestia statycznej typizacji i jednocześnie interakcji z językiem C wprowadza wiele zamieszania. O ile w Smalltalku "wszystko jest obiektem", o tyle w Objective-C obiektem jest tylko to, co jest dostarczone przez samą nakładkę; elementy takie jak liczby całkowite, czy zmiennoprzecinkowe, są obsługiwane już zgodnie z językiem C. Wprowadza to też zamieszanie w samej definicji języka; przykładowo w kompilatorze GCC można posługiwać się nazwą klasy jako typem statycznym (tzn. można używać np. Klasa*, gdzie Klasa jest klasą zdefiniowaną w Objective-C), natomiast w kompilatorze POC należy się posługiwać wyłącznie wskaźnikiem id dla obiektów Objective-C.

Statyczna typizacja nie wpływa jednak (odmiennie, niż w C++, jak również w Javie, C# i innych zaczerpniętych z C++) na możliwość wywołania metody. Na rzecz obiektu trzymanego przez wskaźnik id można wywołać dowolną metodę, a błąd w tym wywołaniu zostanie wykryty na etapie wykonywania. Tak samo zresztą rzecz ma się w Smalltalku i Incr Tcl.

Model obiektowy w Objective-C jest w ogólności wierną kopią modelu Smalltalka pod każdym względem:

  • klasa Object, niejawnie dziedziczona przez wszystkie klasy Objective-C
  • dziedziczenie wyłącznie jednokrotne - realizowane w ten sposób, że nierozpoznana wiadomość zostanie przekazana do "superklasy" (klasy bazowej, w terminologii C++)
  • koncepcja metaklas, w której klasa jest również obiektem, natomiast tworzenie "obiektu" jest czynnością wykonywaną przez klasę

Język Objective-C nie posiada zresztą nawet swojego standardu. Znane są dwie koncepcje języka Objective-C: Apple i Stepstone. Implementacja koncepcji Apple jest dostępna jako Apple Objective-C oraz GNU Objective-C (wraz z GCC), natomiast kompilator dla Stepstone Objective-C jest znany jako POC. Koncepcja Stepstone, implementowana przez POC, różni się od Apple m.in.:

  • POC posiada pełne odśmiecanie pamięci (gc Boehma lub RC)
  • POC posiada lambdę z domknięciami
  • POC nie obsługuje statycznej typizacji obiektów Objective-C

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 nie zdobył sobie popularności i w zasadzie jest językiem niszowym, nawet nieakademickim. Jedyne bardziej znane projekty wykonane w tym języku to Cocoa, będący głównym 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 swego czasu przejął NeXT wraz z dobrodziejstwem inwentarza, czyli OpenStep i Objective-C.


Czarnoskóry piłkarz pobity pod stadionem Odry

Zawodnik opolskiej Odry Pape Samba Ba został dotkliwie pobity przez nieznanych sprawców.

Protest w Koninie: Negocjatorzy próbują nawiązać kontakt z ekologami

11 ekologów Greenpeace z 5 krajów wspina się na 150-metrowy komin zespołu elektrowni Pątnów-Adamów-Konin w Koninie(Wielkopolska). Na miejscu jest już grupa negocjatorów policyjnych, którzy starają się z nimi skontaktować.

TV Puls rezygnuje z redakcji katolickiej

PRZEGLĄD PRASY. W telewizji Puls nie ma już redakcji katolickiej - informuje "Dziennik". Dziennikarze ją tworzący i dwadzieścia innych osób dostało wypowiedzenia. Dariusz Dąbski, prezes Pulsu, zapewnia jednak, że programy katolickie będą i z anteny na pewno nie znikną.

Lech Kaczyński doktorem honoris causa uniwersytetu w Ułan Bator

Prezydent Lech Kaczyński otrzymał tytuł doktora honoris causa Mongolskiego Uniwersytetu Państwowego. Uroczystość na uniwersytecie jest ostatnim punktem oficjalnej wizyty polskiego prezydenta w stolicy Mongolii - Ułan Bator.

Za co nagradza Kochanowski

Z okazji Międzynarodowego Dnia Praw Człowieka rzecznik praw obywatelskich dr Janusz Kochanowski uhonoruje swoją nagrodą zwolennika m.in. kary śmierci dla nieletnich i umysłowo upośledzonych

Władze Katowic nie chcą u siebie Czeczenów

300 Czeczenów zostanie rozwiezionych po Polsce, w tym 50 ciężarnych kobiet i 125 dzieci. Władze Katowic chcą zlikwidować ośrodek dla cudzoziemców

Wojna PiS i przystawek o media publiczne

Krzysztof Czabański za Andrzeja Urbańskiego? O takim wariancie huczy w telewizji.

Platforma wychodzi do ludzi bronić rządu

Partia zobowiązała działaczy do organizacji spotkań z mieszkańcami w każdym z 379 powiatów w Polsce. Mają przekonywać, że reformy blokuje prezydent i PiS

Cała polska buduje schetynówki

2 mld 220 mln zł - tyle chcą gminy i powiaty w przyszłym roku na tzw. schetynówki, czyli drogi lokalne.

Obama jak Wojtyła

- Recepcja nauczania Jana Pawła II jest tęczowa, od proletariackiej czerwieni do biskupich fioletów. Jego nauki podobały się różnym grupom często ze sobą skłóconym - powiedział wczoraj Adam Michnik podczas XV Debaty Tischnerowskiej zorganizowanej przez Uniwersytet Warszawski i wiedeński Instytut Nauk o Człowieku.

Zobacz także inne, godne uwagi serwisy. Piewrszy z nich prezentuje wysokiej jakości drzwi natomiast drugi z nich projekty domów parterowych.
Czarnoskóry piłkarz pobity pod stadionem Odry

Zawodnik opolskiej Odry Pape Samba Ba został dotkliwie pobity przez nieznanych sprawców.

Protest w Koninie: Negocjatorzy próbują nawiązać kontakt z ekologami

11 ekologów Greenpeace z 5 krajów wspina się na 150-metrowy komin zespołu elektrowni Pątnów-Adamów-Konin w Koninie(Wielkopolska). Na miejscu jest już grupa negocjatorów policyjnych, którzy starają się z nimi skontaktować.

TV Puls rezygnuje z redakcji katolickiej

PRZEGLĄD PRASY. W telewizji Puls nie ma już redakcji katolickiej - informuje "Dziennik". Dziennikarze ją tworzący i dwadzieścia innych osób dostało wypowiedzenia. Dariusz Dąbski, prezes Pulsu, zapewnia jednak, że programy katolickie będą i z anteny na pewno nie znikną.

Lech Kaczyński doktorem honoris causa uniwersytetu w Ułan Bator

Prezydent Lech Kaczyński otrzymał tytuł doktora honoris causa Mongolskiego Uniwersytetu Państwowego. Uroczystość na uniwersytecie jest ostatnim punktem oficjalnej wizyty polskiego prezydenta w stolicy Mongolii - Ułan Bator.

Za co nagradza Kochanowski

Z okazji Międzynarodowego Dnia Praw Człowieka rzecznik praw obywatelskich dr Janusz Kochanowski uhonoruje swoją nagrodą zwolennika m.in. kary śmierci dla nieletnich i umysłowo upośledzonych

Władze Katowic nie chcą u siebie Czeczenów

300 Czeczenów zostanie rozwiezionych po Polsce, w tym 50 ciężarnych kobiet i 125 dzieci. Władze Katowic chcą zlikwidować ośrodek dla cudzoziemców

Wojna PiS i przystawek o media publiczne

Krzysztof Czabański za Andrzeja Urbańskiego? O takim wariancie huczy w telewizji.

Platforma wychodzi do ludzi bronić rządu

Partia zobowiązała działaczy do organizacji spotkań z mieszkańcami w każdym z 379 powiatów w Polsce. Mają przekonywać, że reformy blokuje prezydent i PiS

Cała polska buduje schetynówki

2 mld 220 mln zł - tyle chcą gminy i powiaty w przyszłym roku na tzw. schetynówki, czyli drogi lokalne.

Obama jak Wojtyła

- Recepcja nauczania Jana Pawła II jest tęczowa, od proletariackiej czerwieni do biskupich fioletów. Jego nauki podobały się różnym grupom często ze sobą skłóconym - powiedział wczoraj Adam Michnik podczas XV Debaty Tischnerowskiej zorganizowanej przez Uniwersytet Warszawski i wiedeński Instytut Nauk o Człowieku.

Zobacz także inne, godne uwagi serwisy. Piewrszy z nich prezentuje wysokiej jakości drzwi natomiast drugi z nich projekty domów parterowych.

Jeśli skorzystałeś z informacji przedstawionych tutaj?

Nie bądź samolubem. Daj link do serwisu http://www.theplaceofhousesinc.com wszystkim z Twojego GG.