Objective-C Leksykon kieszonkowy.pdf

(428 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Objective-C. Leksykon
SPIS TRECI
kieszonkowy
KATALOG KSI¥¯EK
Autor: Andrew Duncan
T³umaczenie: Leszek Mosingiewicz
ISBN: 83-7361-166-5
Format: B5, stron: 144
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Objective C prezentuje ekscytuj¹ce i dynamiczne podejcie do programowania
obiektowego opartego na C. Zosta³ ono u¿yty przez firmê Apple jako podstawa
programowania dla systemu operacyjnego Mac OS X, który zdobywa coraz wiêksz¹
popularnoæ wród programistów. Pomimo ¿e Objective-C jest (pomijaj¹c jego
podstawê, czyli C) prostym jêzykiem, nie mo¿na niedoceniaæ znaczenia pewnych jego
rozszerzeñ. Wykorzystanie wszystkich mo¿liwoci tego jêzyka jest mo¿liwe dziêki
u¿yciu sprawdzonych wzorców projektowych, uwa¿nej analizie przyk³adów kodu
i prawid³owym wykorzystaniu dostêpnych bibliotek. Zamierzeniem tego leksykonu
jest dostarczenie szybkiej pomocy na temat sk³adni i elementów jêzyka Objective-C.
Ksi¹¿ka zawiera krótkie omówienie podstawowych zagadnieñ oraz przyk³ady i definicje.
Programici przechodz¹cy od kodowania w C++ lub Javie znajd¹ tu informacje
pozwalaj¹ce wykorzystaæ wszystkich mo¿liwoci nowego jêzyka.
Oprócz omówienia sk³adni jêzyka, autor objania te¿ inne zagadnienia zwi¹zane
z jêzykiem: zarz¹dzanie pamiêci¹, dynamiczne ³adowanie, obiekty rozproszone
i obs³ugê wyj¹tków.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
400256713.001.png 400256713.002.png 400256713.003.png
Spis treci
Wstp...............................................................................................5
Czym jest Objective-C? ...............................................................7
Dynamiczne wywołania............................................................................8
Dynamiczne przydzielanie typów ..........................................................9
Dynamiczne ładowanie.............................................................................9
Wybór wersji Objective-C.......................................................................10
Od czego zacz"#? .....................................................................................10
Elementy jzyka ..........................................................................11
Obiekty ......................................................................................................12
Klasy...........................................................................................................13
Dziedziczenie i typy pochodne..............................................................19
Pola.............................................................................................................20
Metody.......................................................................................................22
Kategorie ...................................................................................................34
Protokoły...................................................................................................37
Deklaracje..................................................................................................40
Predefiniowane typy, stałe i zmienne...................................................43
Dyrektywy kompilatora i preprocesora.................................47
Deklaracje i definicje klasy .....................................................................47
Deklaracje wyprzedzaj"ce.......................................................................47
Dyrektywy rozszerzaj"ce........................................................................48
Symbole preprocesora.............................................................................52
Flagi kompilatora.......................................................................53
Zdalne wiadomo'ci.....................................................................54
Kwalifikatory parametrów wska2nikowych .......................................55
Kwalifikatory warto3ci zwracanych......................................................56
Kwalifikatory obiektów ..........................................................................56
Cykl (ycia obiektu......................................................................57
Tworzenie obiektu ...................................................................................58
Kopiowanie obiektu.................................................................................65
Dealokacja obiektu...................................................................................69
Spis treci
3
Błdy wykonania ........................................................................71
Obsługa bł7dów obiektów......................................................................71
Wyj"tki w Cocoa ......................................................................................72
,rodowisko uruchomieniowe....................................................77
Obiekty klas ..............................................................................................78
Obiekty metaklas......................................................................................80
Selektory....................................................................................................82
Obiekty protokołów.................................................................................83
Klasy podstawowe .....................................................................83
Pola.............................................................................................................84
Metody.......................................................................................................84
Klasa Object ..............................................................................................85
Klasa NSObject.........................................................................................95
Przekazywanie wiadomo'ci ...................................................106
Przekazywanie wiadomo3ci w klasie Object.....................................107
Przekazywanie wiadomo3ci w klasie NSObject................................108
Zarz3dzanie pamici3..............................................................111
Manualne zarz"dzanie pami7ci" .........................................................112
Zliczanie odwoła:..................................................................................113
Sprz"tanie pami7ci.................................................................................119
Archiwizacja obiektów............................................................120
Archiwizowanie potomków klasy Object ..........................................120
Archiwizowanie potomków klasy NSObject.....................................123
Kodowanie klucz-warto'7.......................................................127
Uprawnienia dost7pu............................................................................127
Metody kodowania NSKeyValue........................................................128
Obsługa bł7dów poszukiwania kluczy...............................................132
Optymalizacja wywoła8 metod ............................................132
Objective-C++............................................................................134
Dodatkowe informacje o Objective-C ..................................136
Skorowidz...................................................................................138
4
Objective-C. Leksykon kieszonkowy
Czym jest Objective-C?
Objective-C jest jzykiem zorientowanym obiektowo (ang. object
oriented language). Jako taki wspiera hierarchi typów (klas), prze-
syłanie wiadomo#ci pomidzy obiektami oraz wielokrotne wyko-
rzystanie kodu dziki mechanizmowi dziedziczenia. Objective-C
dodaje te cechy do istniej%cego jzyka C.
Objective-C jest rozszerzeniem jzyka C. Z tego powodu wiele cech
programu napisanego w tym jzyku zale'y od wła#ciwo#ci narz-
dzi programistycznych C. Zaliczy( do nich mo'na:
rozmiar warto#ci skalarnych, takich jak liczby całkowite
i zmiennoprzecinkowe;
miejsca umieszczania deklaracji o ograniczonym zasigu;
niejawn% konwersje typów;
przechowywanie ci%gów znakowych;
rozszerzenia i makra preprocesora;
poziomy ostrze'e+ kompilatora;
optymalizacj kodu;
#cie'ki poszukiwania plików doł%czanych i linkowanych.
Wicej informacji na temat tych zagadnie+ mo'na znale.( w do-
kumentacji u'ywanych narzdzi programistycznych dla konkret-
nej platformy systemowej.
Ró'nica pomidzy Objective-C a C++, innym obiektowym rozsze-
rzeniem jzyka C, polega na tym, 'e decyzje, które w przypadku
programów napisanych w C++ s% podejmowane w czasie kom-
pilacji, w Objective-C zostaj% odroczone do fazy wykonania pro-
gramu. Objective-C mo'na rozpozna( te' po poni'szych kluczo-
wych cechach:
Czym jest Objective-C?
7
dynamiczne wywołania (dorczanie wiadomo#ci);
dynamiczne przydzielanie typów;
dynamiczne ładowanie.
Dynamiczne wywołania
W jzykach zorientowanych obiektowo wywołania funkcji s% za-
st%pione przez wiadomoci (ang. messages). Ró'nica polega na tym,
'e ta sama wiadomo#( mo'e w czasie wykonania uruchomi( inny
fragment kodu, w zale'no#ci od rodzaju odbiorcy wiadomo#ci.
W jzyku Objective-C decyzja taka jest podejmowana dynamicz-
nie w czasie wykonywania programu a realizowana przez odszu-
kanie klas, dla których dana wiadomo#( jest przeznaczona i ich
klas bazowych (#rodowisko uruchomieniowe Objective-C zapew-
nia przechowanie wyników poszukiwania w pamici podrcznej
a tym samym popraw wydajno#ci procesu). W C++ tablica wy-
woła+ jest tworzona statycznie w fazie kompilacji programu.
Liniowy sposób poszukiwania odbiorcy, wykorzystywany przez
Objective-C jest w pełni zgodny z naszym wyobra'eniem dziedzi-
czenia. Z tego wzgldu łatwo jest zrozumie( sposób działania pro-
gramu utworzonego w Objective-C. Dynamiczne wywołania mog%
reagowa( na zmiany w hierarchii dziedziczenia w czasie wyko-
nania programu. W wypadku obiektów rozproszonych model dy-
namicznego przesyłania wiadomo#ci stanowi lepsze rozwi%zanie
ni' model oparty na stałej tablicy.
Dynamiczne przydzielanie typów
Dynamiczne przesyłanie wiadomo#ci w Objective-C umo'liwia
programi#cie wskazanie jako ich adresatów obiektów, których typ
nie został jeszcze zadeklarowany. 3rodowisko Objective-C rozpo-
8
Objective-C. Leksykon kieszonkowy
Zgłoś jeśli naruszono regulamin