Odnośniki
- Index
- Kava Alex - Maggie O'Dell 01 - Dotyk zła, Ebooki, K, Kava Alex
- Kellerman Jonathan - Bibliografia, Kellerman Jonathan - CALY CYKL ALEX DELAWARE 1-24 PLUS INNE EBOOKI (puchatek1981)
- Kiedy e-mail. Kiedy telefon. Kiedy spotkanie, Ebooki, Poradniki
- Kane Laknac, ebooki, sarah kane
- Kevin Hogan; Dave Lakhani; Gary May; Mollie Marti; Eliot Hoppe; Larry Adams potezna-sprzedaz---nieznane-strategie-sukcesu helion, ebooki
- King Stephen - Mroczna Wieza III - Ziemie jalowe, Ebooki, ●STEPHEN KING
- Kevin Yank php-i-mysql.-witryna-www-oparta-na-bazie-danych.-wydanie-iv full scan, ebooki
- Keshet et al. (eds) - Automatic Speech and Speaker Recognition (Wiley, eBooki, AI, technologia mowy
- Kiedy kropla drazy skale czyli droga do mistrzostwa w komunikacji perswazyjnej, ebooki, fragmenty, onepress
- Kanon literatury SF wg Wojtka Sedeńki, Ebooki, KSIĄŻKI [ebook, mobi, kindle]
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- rafalsal.opx.pl
Kathy Sierra, ebooki
[ Pobierz całość w formacie PDF ]1
Przełamując zalew początkowych trudności
Java zabiera nas w nowe miejsca.
Od momentu pojawienia się pierwszej, skromnej
wersji o numerze 1.02, Java pociągała programistów ze względu na przyjazną składnię, cechy
obiektowe, zarządzanie pamięcią, a przede wszystkim obietnicę przenośności. Od samego początku
„wskoczymy na głęboką wodę” — napiszemy prosty program, skompilujemy go i wykonamy.
Porozmawiamy o składni, pętlach, rozgałęzieniach oraz innych czynnikach, które sprawiają, że Java jest
taka fajna. Zatem, wskakuj!
Jak działa Java?
28
maszyny
wirtualne
Struktura kodu w Javie
31
Anatomia klasy
32
Metoda
main()
33
Pętle
35
Rozgałęzienia warunkowe (test
if
)
37
Tworzenie aplikacji „99 butelek piwa”
38
Program krasomówczy
41
Pogawędki przy kominku — spór kompilatora z JVM
42
Ćwiczenia i zagadki
44
skompilowany
kod bajtowy
2
Wycieczka do Obiektowa
Mówiono mi, że będą tam same obiekty.
W rozdziale 1. cały kod programu został
umieszczony w metodzie
main()
. Nie jest to w pełni zgodne z zasadami programowania
obiektowego. A zatem trzeba porzucić świat programowania proceduralnego i rozpocząć tworzenie
własnych obiektów. Zobaczymy, co sprawia, że programowanie obiektowe w Javie jest takie fajne.
Wyjaśnimy także, na czym polega różnica pomiędzy klasą a obiektem. W końcu pokażemy, w jaki
sposób obiekty mogą ułatwić nam życie.
Wojna o fotel (Jurek „obiektowiec” kontra Bronek „proceduralny”)
52
Dziedziczenie (wprowadzenie)
55
jedna klasa
Przesłanianie metod (wprowadzenie)
56
Czym jest klasa? (metody, składowe)
58
Tworzenie pierwszego obiektu
60
Użycie metody
main()
62
Kod od kuchni
63
Ćwiczenia i zagadki
66
wiele obiektów
6
3
Poznaj swoje zmienne
Istnieją dwa rodzaje zmiennych: zmienne typów podstawowych oraz
odwołania
. W programach będą istnieć także inne typy danych niż jedynie liczby całkowite,
łańcuchy znaków i tablice. Co zrobić, jeśli chcielibyśmy stworzyć obiekt
WłaścicielZwierzaka
zawierający składową
Pies
? Albo
Pojazd
ze składową
Silnik
? W tym rozdziale ujawnimy
tajemnice typów danych w Javie oraz pokażemy, co można
zadeklarować
jako zmienną,
zapisać
w zmiennej oraz co z taką zmienną można potem zrobić. W końcu przekonamy się, jak wygląda życie
na automatycznie porządkowanej stercie.
Deklarowanie zmiennej (Java zwraca uwagę na
typ
)
74
Typy podstawowe („Poproszę podwójne z dodatkową pianką”)
75
Słowa kluczowe Javy
77
Odwołania (zdalne sterowanie obiektami)
78
Deklarowanie i przypisywanie obiektów
79
Obiekty na automatycznie sprzątanej stercie
81
Tablice (pierwszy rzut oka)
83
Ćwiczenia i zagadki
87
odwołanie do obiektu Pies
4
Jak działają obiekty?
Stan wpływa na działanie, a działanie wpływa na stan.
Wiemy, że obiekty
mają swój
stan
i określone
działanie
reprezentowane odpowiednio przez
składowe
i
metody
.
Teraz sprawdzimy, w jaki sposób stan i działanie obiektów są ze sobą
powiązane
. Otóż w swych
działaniach obiekty wykorzystują swój unikalny stan. Innymi słowy,
metody wykorzystują
wartości składowych obiektów
.
Na przykład: „Jeśli pies waży mniej niż 20 kilo, szczekamy
radośnie, w przeciwnym przypadku…”.
Spróbujmy zmienić stan obiektu!
Metody wykorzystują stan obiektu (obiektowy pies szczeka inaczej)
97
Argumenty metod i typy zwracanych wartości
98
Przekazywanie przez wartość (zmienna zawsze jest kopiowana)
101
Metody pobierające i zapisujące
103
przekazywanie przez wartość oznacza
przekazywanie przez kopię
Hermetyzacja (użyj jej lub zaryzykuj upokorzenie)
104
Wykorzystanie odwołań w tablicy
107
Ćwiczenia i zagadki
112
kopia x
Z
X
int
int
pmc.idz(x)
idz(int z)
7
5
Supermocne metody
Dodajmy naszym metodom nieco siły.
Zajmowaliśmy się już zmiennymi,
eksperymentowali z kilkoma obiektami i napisali kod paru programów. Jednak potrzeba nam więcej
narzędzi. Na przykład
operatorów
. I pętli. Może przydałoby się
wygenerować kilka liczb
losowych
i
zamienić łańcuch znaków na liczbę całkowitą
. O tak, to byłoby super.
I dlaczego nie zajmiemy się stworzeniem prawdziwego programu, aby zobaczyć (i doświadczyć),
jak wygląda kodowanie w Javie?
Może jakąś grę
, taką jak „Zatopić portal” (podobną
do gry w okręty).
Tworzenie gry Zatopić portal
120
Rozpoczynanie pracy nad prostą wersją gry Zatopić portal
122
Pisanie kodu przygotowawczego (pseudokodu gry)
123
Kod testowy prostej wersji gry
126
Pisanie kodu prostej wersji gry
127
Ostateczny kod prostej wersji gry Zatopić portal
130
Generowanie liczb losowych przy użyciu
Math.random()
135
Gotowy kod do pobierania danych wpisywanych w wierszu poleceń
136
Realizacja cykliczna przy użyciu pętli
for
138
Rzutowanie dużych typów prostych na mniejsze
140
Konwersje łańcuchów znaków na liczby przy użyciu
Integer.parseInt()
140
Ćwiczenia i zagadki
141
6
Korzystanie z biblioteki Javy
Java jest wyposażona w setki gotowych klas
. Jeśli tylko dowiesz się, jak znaleźć w bibliotece Javy
(nazywanej także
Java API
) to, czego szukasz, nie będziesz musiał ponownie wymyślać koła.
W końcu masz ciekawsze rzeczy do roboty.
Jeśli masz zamiar napisać program, to równie dobrze
możesz napisać tylko te jego fragmenty, które są unikalne. Standardowa biblioteka Javy to gigantyczny
zbiór klas, które tylko czekają, aby użyć ich jako klocków przy tworzeniu programów.
„Jak to dobrze, że w pakiecie java.util dostępna jest
klasa ArrayList. Ale jak mógłbym się o tym
sam
dowiedzieć?”
Analizowanie błędu w prostej wersji gry Zatopić portal
148
ArrayList (wykorzystanie Java API)
154
— Julian, 31 lat, model
Poprawa kodu klasy Portal
160
Tworzenie
właściwej
wersji gry (Zatopić portal)
162
Pseudokod
właściwej
wersji gry
166
Kod właściwej wersji gry
168
Wyrażenia
logiczne
(
boolowskie
)
173
Korzystanie z biblioteki (Java API)
176
Korzystanie z pakietów (instrukcja importu i pełne nazwy)
177
Korzystanie z dokumentacji w wersji HTML i literatury
180
Ćwiczenia i zagadki
182
8
7
Wygodniejsze życie w Obiektowie
Planuj swoje programy, myśląc o przyszłości.
A gdyby tak można tworzyć kod,
który inni programiści mogliby rozbudowywać, i to w
prosty sposób
? A gdyby tak można było
tworzyć elastyczny kod z myślą o tych najnowszych zmianach wprowadzanych w specyfikacji Javy?
Kiedy dowiesz się o planie polimorficznym, poznasz 5 kroków służących projektowaniu lepszych klas,
3 sztuczki z polimorfizmem oraz 8 sposobów tworzenia elastycznego kodu, a jeśli zaczniesz już teraz,
dodatkowo otrzymasz 4 podpowiedzi odnośnie wykorzystywania dziedziczenia.
Zrozumienie dziedziczenia (relacje między klasami nadrzędnymi
i podrzędnymi)
188
Projektowanie drzewa dziedziczenia (symulacja na zwierzętach)
190
Unikanie powielania kodu (przy wykorzystaniu dziedziczenia)
191
Przesłanianie metod
192
JEST i MA (dziewczyna z wanną)
197
Co dziedziczysz po klasie nadrzędnej?
200
Co w rzeczywistości daje nam dziedziczenie?
202
Polimorfizm (używanie odwołania klasy nadrzędnej
do obiektu klasy podrzędnej)
203
Reguły przesłaniania (nie dotykaj tych argumentów
i typu wartości wynikowej)
210
Przeciążanie metody (powtórnie użyta nazwa metody, nic więcej)
211
Ćwiczenia i zagadki
213
8
Poważny polimorfizm
Dziedziczenie to tylko początek.
Aby w pełni wykorzystać polimorfizm, niezbędne nam
będą interfejsy. Musimy pójść dalej, poza proste dziedziczenie, i uzyskać elastyczność, jaką może
zapewnić wyłącznie projektowanie i kodowanie z wykorzystaniem interfejsów. Czym jest interfejs?
W 100% abstrakcyjną klasą. A czym jest klasa abstrakcyjna? To klasa, która nie pozwala na tworzenie
obiektów. A co nam po takiej klasie? Przeczytaj, to się dowiesz…
Obiektów niektórych klas po prostu nie należy tworzyć
220
Object o = al.pobierz(id);
Pies d = (Pies) o;
d.szczekaj()
Klasy abstrakcyjne (
nie
dają możliwości tworzenia obiektów)
221
Metody abstrakcyjne (muszą zostać zaimplementowane)
223
Polimorfizm w działaniu
226
Klasa Object (ostateczna klasa nadrzędna)
228
Odczytywanie obiektów z listy
ArrayList
(są odczytywane jako
Object
)
Object
231
Kompilator sprawdza typy odwołań (nim
pozwoli na wywołanie metody)
233
Połącz się ze swoim wewnętrznym Obiect-em
234
Odwołania polimorficzne
235
Rzutowanie odwołania do obiektu
(przesuwanie się w dół drzewa dziedziczenia)
236
Object
„Śmiertelny romb” (problem wielokrotnego dziedziczenia)
243
Wykorzystanie interfejsów (najlepsze rozwiązanie!)
244
Ćwiczenia i zagadki
249
Pies
9
[ Pobierz całość w formacie PDF ]