Navrhování a vytváření objektů

Pokud jste novými objekty, budete s největší pravděpodobností zvyklí na vytvořené programy Java pomocí pouze jednoho souboru - souboru hlavní třídy Java. Je to třída, která má hlavní metodu definovanou pro počáteční bod programu Java.

Definice třídy v dalším kroku musí být uložena v samostatném souboru. Řídí se stejnými pokyny pro pojmenování, jaké jste použili pro soubor hlavní třídy (tj. Název souboru musí odpovídat názvu třídy s příponou názvu souboru .java). Například při vytváření třídy Book by následující deklarace třídy měla být uložena do souboru s názvem „Book.java“.

Data, která objekt drží a jak s nimi manipuluje, jsou specifikována vytvořením třídy. Níže je například velmi základní definice třídy pro objekt Book:

Pole se používají k ukládání dat pro objekt a společně vytvářejí stav objektu. Při tvorbě objektu knihy by mělo smysl uchovávat údaje o názvu knihy, autorovi a vydavateli knihy:

Pole jsou pouze normální proměnné s jedním důležitým omezením - musí použít modifikátor přístupu „soukromý“. Soukromé klíčové slovo znamená, že k těmto proměnným lze přistupovat pouze z uvnitř třídy, která je definuje.

instagram viewer

Poznámka: toto omezení není vynuceno kompilátorem Java. V definici třídy byste mohli vytvořit veřejnou proměnnou a jazyk Java si na ni nebude stěžovat. Překonáte však jeden ze základních principů objektově orientovaného programování - data zapouzdření. Stav vašich objektů musí být přístupný pouze prostřednictvím jejich chování. Nebo, abych to řekl praktickými slovy, ke svým třídám se musí přistupovat pouze prostřednictvím třídních metod. Je na vás vynutit zapouzdření dat u objektů, které vytvoříte.

Metoda konstruktoru používá stejný název jako třída (tj. Kniha) a musí být veřejně přístupná. Převezme hodnoty proměnných, které jsou do ní předávány, a nastaví hodnoty polí třídy; tím se objekt nastaví do původního stavu.

Chování jsou akce, které může objekt provádět, a jsou psány jako metody. V tuto chvíli máme třídu, která může být inicializována, ale nedělá nic jiného. Přidejme metodu nazvanou "displayBookData", která zobrazí aktuální data uložená v objektu:

Mohli bychom přidat tolik metod a polí, kolik chceme, ale prozatím pojďme považovat třídu Book za úplnou. Má tři pole pro uložení dat o knize, může být inicializována a může zobrazit data, která obsahuje.

Na levé straně znaménka rovná se je deklarace objektu. Říká se, že chci vytvořit objekt knihy a nazvat jej "firstBook". Na pravé straně znaménka se rovná vytvoření nové instance objektu Book. To, co dělá, je jít do definice třídy Book a spustit kód uvnitř metody konstruktoru. Bude tedy vytvořena nová instance objektu Book s poli nadpisu, autora a vydavatele nastavenými na „Horton Hears A Who!“, „Dr Suess“ a „Random House“. Konečně znaménko rovná se náš nový objekt FirstBook bude novou instancí třídy Book.

instagram story viewer