|
| Učebnice jazyka JAVA (Pavel Herout), Kopp, 2000 České Budějovice, 350 str., 199 Kč, 69 Kč disketa
Další knihu autora Pavla Herouta jsem četl s velkým očekáváním. Přečetl jsem od něj
totiž učebnici jazyka C, která byla vynikající. Musím říct, že ani nová kniha mě nezklamala. Kniha popisuje verzi jazyka Java JDK 1.2.2. Text knihy je rozdělen do dvaceti kapitol, seznamu literatury a rejstříku. Za každou kapitolou, kde je co procvičovat, jsou zařazena cvičení pro čtenáře. Dále je na konci kapitoly uveden přehled běžných chyb a dobré rady. Autor v textu
poněkud nestandardně používá odkaz na knihu, která ještě nevyšla. Na str. 37, 147, 148 je odkaz na knihu UJJ2. Pokud čtenář nepřečetl
dost pozorně úvod knihy, bude trochu dezorientován, stejně jako z počátku já. Na str.41 se v textu hovoří o metodě třídy isInfinity() a ve výpisu programu je
isInfinite(). Důraz je v knize kladen na odlišnosti proti jazyku C, jako je neexistence globálních proměnných, příkazu GOTO, operátoru
čárka, možnost deklarovat metodu až po jejím použitím atd. Čtenář je upozorněn na nemožnost použití klíčového slova void u metody bez parametrů.
Nechybí informace o tom, že Java poskytuje pouze jeden způsob předávání parametrů (call-by-value ), tedy to, že parametry mohou být jen čteny.
Změna parametrů uvnitř metody se tedy po opuštění metody ztrácí. Není samozřejmě zapomenuto ani na možnost přetížení metod, která není možná pouze změnou typu návratové hodnoty. Velká pozornost je věnována polím, třídám a objektům. Zatímco polím je pro jednoduchost jejich deklarací a použití rezervováno jen sedm stran, třídám a objektům je k dispozici plných 26 stran. Čtenář se zde dozví o možnosti získat velikost pole pomocí členské proměnné length a to, že Java striktně za běhu programu kontroluje
překročení obou mezí pole. U dvourozměrných polí je pak upozorněno na fakt, že počet sloupců pole může být u každého řádku jiná. V 8. kapitole věnované třídám a objektům je důkladně a fundovaně objasněna problematika tříd a objektů. Je objasněn pojem referenční proměnné, proměnné třídy (tj. statické proměnné) a proměnné instance. Rovněž se podrobně vysvětluje pojem statické metody a metody instance. Na
mnoha příkladech je ukázána problematika konstruktorů, implicitního parametru this a finalizeru, přetížení metod a konstruktorů, rušení objektů použitím garbage collectoru. 10. kapitola rozšiřuje znalosti čtenáře o třídách a objektech o modifikátorech deklarace třídy public,
abstract a final, předávání skutečných parametrů metodám. 11. kapitola se zabývá dědičností, konstruktory implicitními i neimplicitními, vytváření identických kopii
jedné instance, tedy klonováním. Trochu méně srozumitelné (alespoň pro mne) bylo objasnění mělké a hluboké kopie. 12. kapitola vysvětluje problematiku vytváření knihoven tříd, tedy balíků (package). Mám pocit, že si čtenář-začátečník, kterému je konec konců kniha věnována, neudělá z uvedených příkladů názor, k čemu slouží rozhraní a v jakých situacích použít vnitřní třídy. Určitý náznak použití rozhraní je v poslední kapitole. Předposlední část, věnovaná systémovým akcím, popisuje spolupráci programu s okolím, tedy předávání parametrů z příkazového řádku, standardní vstupní a výstupní proudy System.in, System.out a System.err a seznamuje s některými metodami ze třídy System, jako jsou informace o čase či zjištění velikosti dostupné paměti. Pro lepší pochopení problematiky by byl vhodný nějaký podrobný příklad, ukazující použití Javy v reálné situaci, možná, že to bude v druhém díle. Příklady uvedené v knize sice dobře ilustrují vyloženou problematiku, ale i sám autor uznává, že některé příklady jsou vyumělkované. Koncepci postupně rozvíjeného příkladu použil autor v poslední kapitole, kde ukazuje použití vláken. Určitým nedostatkem knihy je její knihařské provedení. Kniha se mi totiž během čtení rozpadla. Předností je naopak bezchybná čeština autora a dobré uspořádání látky. Snad by čtenáři uvítali větší rozsah knih. Nechme se překvapit, s čím přijde autor ve druhém dílu, který by měla obsahovat popis grafického uživatelského rozhraní. První díl lze považovat za docela zdařilý. dr.vasicek@atlas.cz
RNDr.Karel Vašíček, Družstevní 117,; 530 09 Pardubice, tel. 46-6401520, 6058489Psáno pro Softwarové noviny 2/2002 str. 116 |
Naposledy změněno: 19. 12. 2012 |