Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Čtvrté cvičení Objektové programování Objektový model v Javě
Instance, konstruktor Statické položky a metody
2
Objektové programování
Nejblíže „lidskému“ vnímání světa Objekty mají vlastnosti – zachycují stav objektu schopnosti – popisují chování objektu dědičnost, zapouzdření, polymorfizmus abstrakce Java cv2
3
Objektový popis - příklad
geometrické těleso obvod obsah obvod obsah strana obvod obsah poloměr čtverec kruh obvod obsah strana barva výplně barevný čtverec dědičnost Java cv2
4
Objektový model v Javě Objekt ~ třída (class) Vlastnost ~ položka
Schopnost ~ metoda Př.: class Ctverec { //třída int strana; //položka int obvod() { //metoda return strana*4; } Java cv2
5
Instance objektu, konstruktor
dynamicky vytvořený objekt určité třídy vytváření instancí typicky pomocí operátoru new Př.: Ctverec ctv = new Ctverec(); Java cv2
6
Konstruktor Konstruktor
speciální metoda zavolaná při vytváření objektu jmenuje se stejně jako třída nevrací žádný výsledek může mít parametry jako každá jiná metoda třída může mít více konstruktorů implicitní konstruktor, pokud není žádný uveden Java cv2
7
Konstruktor – příklad Definice: Použití:
class Ctverec { //třída int strana; //položka Ctverec (int delkaStrany) { //konstruktor strana = delkaStrany; } Ctverec () { //konstruktor strana = 1; int obvod() { //metoda return strana*4; Použití: Cverec ctv2 = new Ctverec(20); Java cv2
8
Přístup k vlastnostem objektu
tečková konvence! Přístup k položkám ctv.strana; Přístup k metodám ctv.obvod(); Př.: Ctverec ctv = new Ctverec(); ctv.strana = 10; int obvodCtverce = ctv.obvod(); System.out.println(“Obvod:“+ obvodCtverce ); Java cv2
9
Statické položky a metody
Nepatří instanci ale třídě Společné pro všechny instance dané třídy Př: class Ctverec { static int pocetInstanci; int strana; Ctverec () { pocetInstanci++; strana = 1; } Přístup ke statickým položkám: Ctverec.pocetInstanci; Java cv2
10
Řízení přístupu k objektu
Úrovně přístupu (modifikátory) public – přístupné jakémukoliv objektu protected – přístupné potomkům (a třídám ze stejného balíku) private – přístupné pouze v rámci třídy Př: class Ctverec { //třída private int strana; //položka public Ctverec (int delkaStrany) { //konstruktor strana = delkaStrany; } public int obvod() { //metoda return strana*4; Java cv2
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.