Před koncem školního roku jsme dokončili výklad druhé kapitoly našeho seriálu o výuce objektově orientovaného programování; nyní přidáváme shrnutí, co jsme se v ní vlastně naučili.
2.19 Shrnutí – co jsme se v kapitole naučili
- Nová třída se vytvoří klepnutím na tlačítko Nová třída a zadáním názvu třídy v následně otevřeném dialogovém okně.
- Velbloudí notací označujeme způsob zápisu, při němž se několikaslovný název píše bez mezer jako jedno slovo přičemž každé slovo názvu začíná velkým písmenem a ostatní písmena jsou malá – např. StrčPrtstSkrzKrk.
- Názvy tříd píšeme velbloudí notací s prvním písmenem velkým.
- Názvy atributů, proměnných a metod píšeme velbloudí notací s prvním písmenem malým.
- Zdrojový kód třídy je uložen v souboru, který má stejný název jako třída (musí se dodržet i velikost písmen) má příponu .java.
- Jazyk Java používá dva druhy komentářů: obecný, který je ohraničen komentářovými závorkami /* a */, a řádkový, který začíná znaky // a končí spolu s koncem řádku.
- Komentář můžeme napsat kdekoliv, kde můžeme napsat mezeru.
- Obecný komentář začínající znaky /** je chápán jako dokumentační. Zapisují se do něj informace užitečné pro budoucí uživatele dané třídy, metody, konstanty…
- Dokumentační komentáře musíme napsat těsně před dokumentovanou konstrukci (třídu, atribut, metodu).
- Dokumentační komentáře mohou vedle prostého textu obsahovat i HTML značky (tagy).
- Java zavádí několik speciálních značek začínajících znakem „@“, které slouží k lepšímu popisu některých rysů dokumentovaných konstrukcí, např. parametrů či návratových hodnot dokumentovaných metod.
- Novou třídu vytvoříme stiskem tlačítka Nová třída a vyplněním následně otevřeného dialogového okna.
- Třídu odstraníme zadáním příkazu Odstranit v místní nabídce třídy.
- Definice třídy sestává z hlavičky a těla. Hlavička obsahuje modifikátory blíže specifikující vlastnosti třídy (prozatím známe jen modifikátor public), klíčové slovo class a název třídy. Tělo následuje za hlavičkou, je uzavřeno ve složených závorkách a obsahuje definice všech atributů a metod dané třídy.
- Po každé úpravě se musí třída před svým prvním spuštěním přeložit.
- Objeví-li překladač při překladu nějakou chybu, oznámí nám to ve spodním, informačním poli okna editoru.
- Není-li nám význam chyby zřejmý, můžeme požádat o nápovědu stiskem tlačítka s otazníkem na pravém kraji informačního pole.
- Definice konstruktoru sestává z hlavičky a těla. Hlavička obsahuje modifikátory následované názvem konstruktoru, který je shodný s názvem třídy, a seznamem parametrů uzavřený v kulatých závorkách.
- Má-li být konstruktor viditelný zvenku třídy, označíme jej modifikátorem public.
- Nemá-li konstruktor žádné parametry, budou závorky za jeho názvem prázdné.
- Parametr deklarujeme tak, že uvedeme jeho typ (u objektových parametrů uvedeme třídu, na jejíž instanci odkazují) následovaný jeho názvem (identifikátorem), prostřednictvím nějž se k němu budeme v těle konstruktoru obracet.
- Je-li pro nás výhodné zavolat v konstruktoru jiný konstruktor téže třídy, zavoláme jej tak, že napíšeme klíčové slovo this následované seznamem parametrů.
- Volání konstruktoru this musí být úplně prvním příkazem těl konstruktoru – před ním smějí být již pouze mezery a komentáře.
- Pro přesný zápis pravidel, podle nichž se vytváří (zapisuje) vysvětlovaná konstrukce, používáme syntaktické definice.
- Atributy definujeme v těle třídy, avšak mimo těla jejich metod.
- Definice atributů sestává se seznamu modifikátorů následovaného typem definovaného atributu a jeho identifikátorem (názvem) a případným přiřazením počáteční hodnoty.
- Atributy s výjimkou konstant, které není možné změnit, označujeme modifikátorem private.
- U tříd rozeznáváme jejich rozhraní, tj. to, co o sobě třída zveřejní a na co se mohou její uživatelé spolehnout, a implementaci, tj. to, jak třída zařídí, že umí to, co vyhlásila v rozhraní. Implementační detaily bychom měli před okolím skrývat, aby nebylo možno funkčnost třídy a jejích instancí ohrozit.
- Definice metody sestává z hlavičky a těla. Hlavička obsahuje modifikátory následované typem návratové hodnoty, názvem metody a seznamem parametrů uzavřeným v kulatých závorkách.
- Metody, které nic nevrací, mají jako typ návratové hodnoty uveden typ void.
- Použité metody a atributy musíme vždy kvalifikovat, tj. napsat před ně název odkazu na instanci (u atributů a metod třídy můžeme použít název třídy), o jejíž metodu nebo atribut se jedná.
- Kvalifikaci můžeme vynechat pouze v případě, kdy se na danou metodu či atribut obracíme v metodě instance (třídy), na jejíž metodu či atribut se obracíme.
- Chceme-li zdůraznit, že se obracíme na atribut či metodu té instance, jejíž metodu právě definujeme, kvalifikujeme ji klíčovým slovem this.
- V případě potřeby můžeme uvnitř metody definovat lokální proměnné. Definice musí obsahovat typ proměnné (u objektových typů třídu instance, na níž bude proměnná odkazovat), identifikátor (název) a případně i přiřazení počáteční hodnoty.
- Lokální proměnnou nelze použít, dokud se jí nepřiřadí nějaká hodnota.
- Po ukončení metody jsou všechny její lokální proměnné ztraceny. Potřebuje-li si metoda něco pamatovat mezi svými spuštěními, musí si to uložit do nějakého atributu.
- Atributy a metody třídy definujeme tak, že mezi jejich modifikátory uvedeme klíčové slovo static.
- Atributy a metody třídy bývají často označovány jako statické.
- Má-li být hodnota atributu neměnná (konstantní), uvedeme mezi jeho modifikátory klíčové slovo final.
- Statickým konstantám je třeba přiřadit jejich hodnotu již v deklaraci, nestatickým konstantám je možno přiřadit počáteční hodnotu v konstruktoru.
- Jako veřejné mohou být deklarovány pouze konstanty číselných typů. logické konstanty a konstanty typu String.
- Metody mohou mít i parametry objektových typů. Při zadávání takovýchto parametrů v prostředí BlueJ můžeme využít možnosti zadat takovýto parametr klepnutím na příslušný odkaz v zásobníku odkazů.
- V okně editoru můžeme zadat, zda má editor zobrazit implementaci dané třídy (zdrojový kód) nebo její rozhraní (dokumentaci).
- Dokumentace je generována automaticky z dokumentačních komentářů.
- Zadáním příkazu Nástroje –> Dokumentace projektu v okně projektu požádáme o vygenerování dokumentace všech tříd v projektu. Tyto dokumentaci si pak můžeme prohlížet HTML prohlížečem nezávisle na spuštění BlueJ.
Rudolf Pecinovský
0 komentářů:
Okomentovat