Naučte se Javu – třídy a objekty 1.
V tomto díle bude řeč o základních stavebních kamenech Javy – o objektech. Idea objektového programování spočívá v rozložení celku na jednotlivé objekty (do sebe zanořované komponenty), které navzájem spolupracují a dohromady tak tvoří funkční aplikaci.
Třídy a objekty
Třída (Class) definuje data a metody. Data mohou být buď proměnné primitivního datového typu nebo odkazy na další objekty. Metoda se v objektově orientovaném programování říká procedurám a funkcím.
Třída slouží jako šablona pro vytváření instancí; instancemi tříd jsou objekty. (Samotná třída tedy nepředstavuje vlastní informace, jedná se pouze o předlohu; data obsahují až objekty.) Objektů jedné třídy přitom může existovat libovolné množství (samozřejmě také žádný).
Uvažujme například třídu, která reprezentuje kružnici v rovině. Ta je popsána x-ovou a y-ovou souřadnicí středu a poloměrem. S kružnicí můžeme také dělat různé činnosti – zjišťovat její obvod, obsah nebo ji posouvat. V Javě by definice takové třídy vypadala takto (kruznice.java
):
|
Definice třídy musí být umístěna v souboru, který se jmenuje stejně jako třída. Třída je definována klíčovým slovem class
následovaným jménem třídy (Kruznice
). Definice třídy je umístěna mezi dvojicí odpovídajících složených závorek, skládá se z definice proměnných a definice metod.
Klíčové slovo public
je modifikátor viditelnosti, budeme o nich mluvit v příštím díle seriálu.
Proměnné
Za datovým typem (primitivní nebo referenční datový typ) následuje jméno proměnné, popřípadě seznam proměnných oddělených čárkami.
|
Při definici proměnných je rovněž možné přiřadit proměnné implicitní hodnotu.
|
Metody
Návratový typ metody může být primitivní datový typ, reference nebo void
(žádná hodnota není vrácena). Za návratovým typem a názvem metody je v kulatých závorkách napsán seznam parametrů (a jejich typů) oddělených čárkami. Výsledek metody (návratová hodnota) je uveden klíčovým slovem return
, po jeho provedení se zpracování metody ukončí.
Metoda součet má dva parametry typu float
(desetinné číslo) a vrací hodnotu typu float
:
|
Metoda obvod nemá žádný parametr a vrací hodnotu typu double
:
|
Vytváření objektu
Objekt vytváříme pomocí klíčového slova new
. Pokud chceme vytvořit instanci třídy Kruznice
, nejprve nadeklamujeme proměnnou tohoto typu …
|
Konstruktory
Speciálním typem metody je tzv. konstruktor. Tato metoda nemá jméno (jmenuje se stejně jako třída) a obsahuje inicializaci objektu. Konstruktor je volán automaticky při vytváření objektu. Pokud při deklaraci konstruktor nepopíšete (jako u naší třídy Kruznice
), konstruktor je automaticky prázdný.
Konstruktorů jednoho objektu může být i více, musí se však lišit v parametrech, aby Java poznala, který konstruktor chcete zavolat.
Pomocí klíčového slova this se můžete odkazovat na jiný konstruktor stejné třídy nebo na proměnné této třídy (zejména pokud se parametry konstruktoru jmenují stejně jako proměnné třídy).
Pokud do třídy Kruznice
přidáme konstruktory, může vypadat takto:
|
Objekt třídy Kruznice pak můžeme založit:
|
Rušení objektu
V Javě se objekty ruší automaticky, pokud na ně zanikne poslední reference a nemohou být dále použity. Nemusíte se tedy starat o uvolňování paměti, což vám může ušetřit bezesné noci hledání chyb. Tuto činnost zajišťuje tzv. Garbage collector (sběrač odpadků), který si pamatuje počet odkazů na jednotlivé objekty a když zanikne poslední, označí takový objekt ke smazání. Až je volný čas (program nepracuje), smaže ho.
Pokud chcete před zánikem objektu spustit ukončovací kód (např. pro uzavření komunikačních kanálů, souborů apod.), umístěte tento kód do metody finalize
.
|
V příštím díle budeme ještě s objekty pokračovat, podíváme se na dědičnost objektů a na proměnné a metody tříd.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Jak lze snadno upravovat soubory v PDF?
14. září 2023 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024 -
Co je to VRAM a jak ji navýšit bez drahého upgradu?
20. srpna 2024 -
Nepodceňte UX na vašem webu: Proč na něm záleží?
10. dubna 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024