Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.

Podobné prezentace


Prezentace na téma: "KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající."— Transkript prezentace:

1 KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch

2 Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající se z více tříd

3 Objekty v Javě Dosud pouze statické metody a proměnné (atributy) –V deklaraci bylo klíčové slovo static –Z jiných tříd přístupné kdykoliv přes název třídy a tečku (např. Math.sin()) v závislosti na přístupových právech (public, bez specifikace) V javě lze však třídy použít hlavně k uchovávání strukturovaných dat Dále lze deklarovat metody, které s těmito daty pracují.

4 Třída x instance třídy (objekt) Třída je šablona, podle které můžeme vytvářet objekty (instance) typu této třídy –Třída je „razítko“, objekt je „otisk“ razítka. –Proměnné a metody instance (deklarují se stejně, jen bez slovíčka static) –Podle jedné třídy (vzoru) lze vytvořit libovolné množství objektů –Každý může mít různě nastavené atributy (proměnné) určující stav objektu (instance) –Jedna ze tříd musí obsahovat metodu main.

5 Proměnné a metody instance Proměnné (atributy) instance –Definovány uvnitř třídy, ale mimo metody –Podobné jako statické proměnné třídy bez slovíčka static –Přístupné z celé třídy, v každé instanci můžou být nastavené na jiné hodnoty –Nelze s nimi pracovat ve statických metodách. Metody instance –Deklarace stejná jako u statické metody akorát bez static –Mohou pracovat s proměnnými třídy i instance

6 Konstruktor Speciální metoda, která se volá při vytváření nové instance –Stejný název jako třída (závazně, včetně velkého písmena na začátku) –Nemá návratovou hodnotu (ani void) (návratem je nově vytvořený objekt) –Může být více konstruktorů pokud mají různé parametry (tzv. přetěžování) –Typicky se v něm provádí různé inicializace atributů

7 Příklad třídy public class Ctverec{ //atribut int strana; //konstruktor public Ctverec(int strana){ this.strana = strana; } //metoda public int getStrana(){ return this.strana; }

8 Vytvoření nové instance třídy Deklaruje se podobně jako obyčejná proměnná + použití operátoru new –třída Ctverec obsahující atribut čtverce (strana) a metodu, která s ním pracuje –Vytvoření nového čtverce (v jiné třídě) Ctverec c1 = new Ctverec(4); Ctverec c2; c2 = new Ctverec(2); int a = c2.getStrana();

9 Přístupová práva I U proměnných i metod třídy i instance lze nastavit přístupová práva z vnějšku třídy –Neuvedeno – proměnná/metoda přístupná z vnitřku třídy a ze tříd stejného balíku –private – proměnná/metoda přístupná pouze z vnitřku třídy, kde je definována –protected – proměnná/metoda přístupná z vnitřku třídy, stejného balíku a potomka –public – proměnná/metoda přístupná z každé třídy každého balíku

10 Přístupová práva II Pro přístup k nepřístupným (private) proměnným instance se používají tzv. getry a setry –Public metody, které slouží k nastavení (setry) a vrácení (getry) hodnoty proměnné instance –Mohou provádět kontroly správnosti zadaných hodnot. –Lze je vygenerovat (v Eclipse)

11 Program z více tříd Každá public třída musí být v samostatném.java souboru Třída bez public může být v jednom souboru s více třídami –Pak ale není viditelná z jiných balíků Pokud chci použít třídu z jiného balíku (standardního z Java SDK, nebo vlastního), musím uvést import


Stáhnout ppt "KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající."

Podobné prezentace


Reklamy Google