Hlavní navigace

2. Java 5: Horton - Co jsou to objekty

10. 9. 2008 19:41 (aktualizováno) xhulesj

Objekty jsou všechno kolem nás. Například strom, reprezentuje určitou třídu, ze které se odvazují konkrétní druhy stromů. (podtřídy) Tedy např. Dub, Jasan nebo Sekvoj.

Třída je tedy vzor určující, čím je vytvořen určitý druh objektu. Podtřída je také třídou, dědí všechny vlastnosti rodičovské třídy a navíc obsahuje vlastní specifikace.

Strom je třída, Smrček je podtřída třídy strom. Ten Smrček, co si půjčil za pomocí pily váš tatínek z lesa o minulých Vánocích  je instance specifického druhu stromu Smrček, třídy Strom. Tak už je to jasné všem, že?

Definice třídy udává všechny parametry, které je třeba definovat pro objekt v rozsahu vašich potřeb.

Například klobouk může mít řetězec znaků jako třeba „Cylindr“ nebo „Radiovka“,  vlastníka , jeho velikost jako číselnou hodnotu , barvu jako řetězec znaků apod

Klobouky

Po 15 minutách programování a 2 hodinách studia HTML vidíme krásný požadovaný obrázek třídy KovbojKlobouk. Už sem to chtěl vzdát.

Objekt třídy není jen souhrnem položek dat. Třída určuje, co s objektem třídy můžete provádět. Například klobouk si můžeme třeba nasadit nebo zespolečenštit ho sousedovi, čmíž se změní řetězec vlastníka ze sousedova jména na mé :-). Zespolečenštění se v tomto příkladě sestává z operace nový majitel a předešlé operace nasadit. Operace pro daný objekt se definuje tzv. metodou, která je v definici třídy.

Ve třídě jsou tedy jak datové položky(data), tak i metody, které nad těmito daty pracují. Existují pro ně specifikátory přístupu, které píšeme před deklarací proměnné. Klíčové slovo private ukazuje, že se jedná o soukromnou (vnitřní) proměnou nebo metodu. Klíčové slovo public vyjadřuje veřejně přístupnou metodu nebo proměnnou. Slovo protected nám Horton zamlčuje, ale mi co víme používáme :-).

Existuje zapouzdření, které znamená skytí datových položek. To je dosaženo tak, že je zadáte v definici třídy jako private. V třídě KovbojKlobouk jsou instanční proměnné vlastník , typ a velikost zapozdřeny. Takže je k nim přístup pouze uvnitř dané třídy a zvenku pomocí metody. Tak nám žádný syčák nepodstrčí, že vlastník = „Já“;, ale o přístup k vlastníkovi je třeba volat nějakou metodu, co si vše může ohlídat.

Opravený příklad je zde:

Klobouky

A takhle málo je toho na začátek o objektech. V příštím díle se podíváme, co je to celé a reálné číslo. Naučíme se taky správně sčítat 1+1 a výsledek zobrazit na konzoli. Takže nuda…