objective-c. vademecum profesjonalisty. wydanie iii full.pdf

(27576 KB) Pobierz
752871063.001.png
Ty t uł oryginału: Programming in Objective-C, Third Edition
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-246-3667-9
Authorized translation from the English language edition, entitled: Programming in Objective-C, Third
Edition, ISBN 0321711394,
by Stephen G. Kochan, published by Pearson Education, Inc,
publishing as Addison Wesley, Copyright © 2011 by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from Pearson Education Inc.
Polish language edition published by Helion S.A.
Copyright © 2012.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniej¬szej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficz¬ną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za
ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich.
Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne
szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie?gimpbi
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
752871063.002.png
Spis treci
O autorze ............................................................................................... 11
O korektorach merytorycznych .......................................................... 12
Rozdzia 1.
Wprowadzenie ...................................................................................... 13
Zawarto ksiki ................................................................................................................14
Struktura ksiki ..................................................................................................................15
Pomoc ..................................................................................................................................17
Podzikowania ....................................................................................................................17
Cz I
Jzyk Objective-C 2.0 .......................................................19
Rozdzia 2.
Programowanie w jzyku Objective-C .............................................. 21
Kompilacja i uruchamianie programów ..............................................................................21
Kompilacja programów przy uyciu Xcode ..................................................................22
Kompilacja programów przy uyciu terminala .............................................................28
Objanienie kodu pierwszego programu ..............................................................................30
Wywietlanie wartoci zmiennych ......................................................................................34
Podsumowanie ....................................................................................................................36
Rozdzia 3.
Klasy, obiekty i metody ........................................................................ 39
Czym tak waciwie jest obiekt ...........................................................................................39
Egzemplarze i metody .........................................................................................................40
Klasa w jzyku Objective-C do dziaa na uamkach ..........................................................42
Sekcja @interface ................................................................................................................45
Wybór nazw ..................................................................................................................45
Zmienne egzemplarza ...................................................................................................47
Metody klas i egzemplarzy ............................................................................................47
Sekcja @implementation .....................................................................................................49
Sekcja programu ..................................................................................................................50
Zasady dostpu do zmiennych egzemplarzy i hermetyzacja danych ...................................56
Podsumowanie ....................................................................................................................59
Rozdzia 4.
Typy danych i wyraenia ..................................................................... 61
Typy danych i stae ..............................................................................................................61
Typ int ...........................................................................................................................61
Typ float ........................................................................................................................62
Typ char ........................................................................................................................62
Kwalifikatory: long, long long, short, unsigned oraz signed .........................................63
Typ id ............................................................................................................................64
6
Objective-C. Vademecum profesjonalisty
Wyraenia arytmetyczne .....................................................................................................65
Kolejno wykonywania dziaa ...................................................................................65
Arytmetyka liczb cakowitych i jednoargumentowy operator minus ............................68
Operator dzielenia modulo ............................................................................................70
Konwersja midzy typami cakowitymi i zmiennoprzecinkowymi ...............................71
Operator rzutowania typów ...........................................................................................72
Operatory przypisania .........................................................................................................73
Klasa kalkulatora .................................................................................................................74
Rozdzia 5.
Ptle ....................................................................................................... 79
Ptla for ...............................................................................................................................80
Odbieranie danych z klawiatury ....................................................................................86
Zagniedanie ptli for ..................................................................................................88
Warianty ptli for ..........................................................................................................90
Instrukcja while ...................................................................................................................91
Instrukcja do ........................................................................................................................95
Instrukcja break ...................................................................................................................96
Instrukcja continue ..............................................................................................................97
Podsumowanie ....................................................................................................................97
Rozdzia 6. Podejmowanie decyzji ......................................................................... 99
Instrukcja if .........................................................................................................................99
Instrukcja if-else ..........................................................................................................103
Zoone testy relacyjne ................................................................................................106
Zagniedanie instrukcji if ..........................................................................................108
Konstrukcja else if .......................................................................................................110
Instrukcja switch ................................................................................................................118
Zmienne logiczne ..............................................................................................................121
Operator warunkowy .........................................................................................................126
Rozdzia 7.
Klasy raz jeszcze ................................................................................. 129
Pisanie interfejsu i implementacji w osobnych plikach .....................................................129
Automatyczne tworzenie metod dostpowych ..................................................................134
Dostp do waciwoci za pomoc operatora kropki .........................................................135
Metody przyjmujce po kilka argumentów .......................................................................136
Metody bez nazw argumentów ....................................................................................138
Dziaania na uamkach ................................................................................................138
Zmienne lokalne ................................................................................................................141
Argumenty metod ........................................................................................................142
Sowo kluczowe static .................................................................................................142
Sowo kluczowe self ..........................................................................................................145
Alokacja i zwracanie obiektów przez metody ...................................................................146
Rozszerzanie definicji klasy i pliku interfejsowego ....................................................151
Rozdzia 8.
Dziedziczenie ...................................................................................... 153
Pocztek wszystkiego ........................................................................................................153
Wybieranie metody do wywoania ..............................................................................157
Rozszerzanie klas poprzez dziedziczenie — dodawanie nowych metod ...........................157
Klasa reprezentujca punkt i alokacja pamici ............................................................161
Dyrektywa @class .......................................................................................................162
Klasy jako waciciele swoich obiektów .....................................................................166
Przesanianie metod ...........................................................................................................169
Wybór metody .............................................................................................................171
Przesanianie metody dealloc i sowa kluczowego super ............................................173
Rozszerzanie poprzez dziedziczenie — dodawanie zmiennych egzemplarzowych ...........175
Klasy abstrakcyjne ............................................................................................................177
Spis treci
7
Rozdzia 9. Polimorfizm oraz typowanie i wizanie dynamiczne ...................... 181
Polimorfizm — ta sama nazwa, róne klasy ......................................................................181
Wizanie dynamiczne i typ id ...........................................................................................184
Sprawdzanie typów ...........................................................................................................186
Typ id i typowanie statyczne .............................................................................................187
Argumenty i typy zwrotne a typowanie dynamiczne ..................................................188
Pytanie o klasy ..................................................................................................................189
Obsuga wyjtków za pomoc instrukcji @try ..................................................................193
Rozdzia 10. Zmienne i typy danych — techniki zaawansowane ....................... 197
Inicjowanie obiektów ........................................................................................................197
Zakres dostpnoci zmiennych — rozszerzenie wiadomoci ............................................200
Dyrektywy do kontroli zakresu dostpnoci zmiennych .............................................200
Zmienne zewntrzne ...................................................................................................201
Zmienne statyczne .......................................................................................................203
Wyliczenia .........................................................................................................................206
Instrukcja typedef ..............................................................................................................209
Konwersja typów ...............................................................................................................210
Reguy konwersji ........................................................................................................210
Operatory bitowe ...............................................................................................................211
Operator bitowego I ....................................................................................................213
Operator bitowego LUB ..............................................................................................214
Bitowy operator LUB wykluczajcego .......................................................................214
Operator uzupenienia jedynkowego ...........................................................................215
Operator przesunicia w lewo .....................................................................................216
Operator przesunicia w prawo ...................................................................................217
Rozdzia 11. Kategorie i protokoy .......................................................................... 219
Kategorie ...........................................................................................................................219
Kilka uwag na temat kategorii .....................................................................................223
Protokoy i delegacja .........................................................................................................224
Delegacja .....................................................................................................................227
Protokoy nieformalne .................................................................................................228
Obiekty zoone .................................................................................................................229
Rozdzia 12. Preprocesor ......................................................................................... 233
Instrukcja #define ..............................................................................................................233
Inne zaawansowane definicje typów ...........................................................................235
Instrukcja #import .............................................................................................................239
Kompilacja warunkowa .....................................................................................................241
Instrukcje #ifdef, #endif, #else oraz #ifndef ................................................................241
Instrukcje #if i #elif .....................................................................................................243
Instrukcja #undef .........................................................................................................244
Rozdzia 13. Dziedzictwo jzyka C ......................................................................... 245
Tablice ...............................................................................................................................245
Inicjowanie elementów tablic ......................................................................................248
Tablice znaków ...........................................................................................................249
Tablice wielowymiarowe ............................................................................................250
Funkcje ..............................................................................................................................251
Argumenty i zmienne lokalne .....................................................................................253
Warto zwrotna funkcji .............................................................................................255
Funkcje, metody i tablice ............................................................................................258
Zgłoś jeśli naruszono regulamin