Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na...
Transcript of Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na...
![Page 1: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/1.jpg)
Princípy objektového programovania
Informatika 1
![Page 2: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/2.jpg)
Cieľ predmetu
• Úvod do programovania všeobecne
• Dôraz na objektový prístup
• Základné princípy tvorby algoritmov
• Programovací jazyk Java
Informatika 1 1
![Page 3: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/3.jpg)
Veci okolo nás
Informatika 1 2
![Page 4: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/4.jpg)
Informatika 1
Televízor – ako sa používa?
+ návod na použitie
3
![Page 5: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/5.jpg)
Televízor – čo je vo vnútri?
• Z čoho sa skladá?
• Ako funguje?
• Musíme to vedieť, keď ho používame?
Informatika 1 4
![Page 6: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/6.jpg)
Veci okolo nás
Informatika 1 5
![Page 7: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/7.jpg)
Práčka – ako sa používa?
Informatika 1 6
![Page 8: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/8.jpg)
Veci okolo nás
Informatika 1 7
![Page 9: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/9.jpg)
Veci okolo nás
Informatika 1 8
![Page 10: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/10.jpg)
Veci okolo nás
Informatika 1 9
![Page 11: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/11.jpg)
Veci okolo nás
Informatika 1 10
![Page 12: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/12.jpg)
Veci okolo nás
Informatika 1 11
![Page 13: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/13.jpg)
Veci okolo nás
Informatika 1 12
![Page 14: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/14.jpg)
Veci okolo nás
• Dajú sa nejako spoločne charakterizovať?
• Čo sa dá povedať, aby sme to mohli aplikovať na každú vec?
Informatika 1 13
![Page 15: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/15.jpg)
Veci okolo nás
• Pohľad vonkajší
• Na čo nám slúži?
• Ako sa používa?
• Pohľad vnútorný
• Z čoho sa skladá?
• Ako sa dá charakterizovať?
• Ako funguje?
Informatika 1 14
![Page 16: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/16.jpg)
Veci okolo nás
Informatika 1
objekty
15
![Page 17: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/17.jpg)
Objekt televízor
Informatika 1 16
![Page 18: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/18.jpg)
Televízor má vlastnosti
• Vek
• Veľkosť uhlopriečky
• Farebný alebo čiernobiely
• Typ obrazovky:
– klasická (elektrónka),
– Tekuté kryštály (LCD),
– Plazma
• ...
Informatika 1 17
![Page 19: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/19.jpg)
Televízor má funkcie
• Zobrazuje vysielanie TV stanice, alebo monoskop, alebo „sneženie“
• Vypne sa alebo zapne sa na požiadanie
• Zmení TV stanicu na požiadanie
• Zmení hlasitosť na požiadanie
• ...
Informatika 1 18
![Page 20: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/20.jpg)
Objekt práčka
Informatika 1 19
![Page 21: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/21.jpg)
Práčka má vlastnosti
• Rozmery
• Hmotnosť dávky prádla
• Trieda úspornosti
• Značka
• plnenie zhora alebo zboku
• ...
Informatika 1 20
![Page 22: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/22.jpg)
Práčka má funkcie
• Perie
• Zohrieva vodu
• Plácha
• Odstreďuje (žmýka)
• ...
Informatika 1 21
![Page 23: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/23.jpg)
Človek ako objekt
• Komunikuje so svojim okolím?
• Má vlastnosti?
• Má svoje „časti“?
• Má „funkcie“?
• Môžeme ho chápať ako objekt.
• Podobne s trochou fantázie aj ostaná príroda.
• Všetko okolo nás sú objekty.
Informatika 1 22
![Page 24: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/24.jpg)
Objekty spolupracujú
Informatika 1 23
![Page 25: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/25.jpg)
Objekty spolupracujú
• Objekty spolupracujú tak, že si odovzdávajú potrebné informácie
– Človek stlačí tlačidlo na diaľkovom ovládači – číslo kanálu zvoleného TV programu
– Ovládač odošle informáciu do TV prijímača
– TV prijímač naladí požadovaný TV program a zobrazuje ho človekovi
Informatika 1 24
![Page 26: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/26.jpg)
Objekty spolupracujú
Informatika 1
Všeobecne budeme hovoriť, že
objekty si posielajú správy
25
![Page 27: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/27.jpg)
Základné pojmy OP
• Objekt
• Správa
Informatika 1 26
![Page 28: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/28.jpg)
Modelovanie objektov
![Page 29: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/29.jpg)
Objekt reálneho sveta vs. objekt v OOP
• Model je zjednodušením reality – uvažuje iba stránky podstatné pre riešený problém
• Model – fyzikálny, matematický, programový, ...
• Programový objekt modeluje objekty reálneho sveta
• Program je množina objektov, ktoré spolu komunikujú pomocou správ
• Programy sa píšu v programovacích jazykoch
• My budeme používať jazyk Java [džava]
Informatika 1 28
![Page 30: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/30.jpg)
Postup pri tvorbe programu
• Objekt reálneho sveta
• Logický model – UML
• Softvérový model – program v Jave
Informatika 1 29
![Page 31: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/31.jpg)
Reálny objekt
Informatika 1 30
![Page 32: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/32.jpg)
UML model
Informatika 1 31
![Page 33: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/33.jpg)
Softvérový model
Informatika 1 32
![Page 34: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/34.jpg)
Používanie programu
• Program v dvoch tvaroch
– Zdrojový kód (zdrojový text) – zapisuje aj číta človek – počítač mu nerozumie
– Strojový kód – podľa neho pracuje počítač – človek nie je schopný jednoducho prečítať, alebo zmeniť
• Prevod zo zdrojového do strojového kódu zabezpečuje špeciálny program – prekladač (kompilátor)
• Počítač vykonáva program v strojovom kóde
Informatika 1 33
![Page 35: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/35.jpg)
Používanie programu
Informatika 1
preklad
34
![Page 36: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/36.jpg)
Model objektu
• Rozhranie – zoznam správ, ktoré prijíma
• Verejná časť – majú prístupné (vidia) všetky objekty v okolí
• Atribúty
• Metódy
• Neverejné časti, má prístupné (vidí) len objekt sám
Informatika 1 35
![Page 37: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/37.jpg)
Ilustrácia štruktúry objektu
Informatika 1
atribút
rozhranie metóda
správa
správa
36
![Page 38: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/38.jpg)
Rozhranie objektu
• Zoznam všetkých správ
• Ponuka služieb poskytovaných objektom
• Potrebujeme poznať, ak chceme objekt použiť
• Jeden objekt komunikuje s iným objektom cez jeho rozhranie
Informatika 1 37
![Page 39: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/39.jpg)
Atribúty objektu
• Atribúty objektu modelujú jeho vlastnosti a štruktúru
• Atribút má názov a hodnotu
• Príklady:
– výška práčky: 80 cm
– vek človeka: 19 rokov
– pohlavie človeka: žena
– značka televízora: Tesla
– občan SR: áno
Informatika 1 38
![Page 40: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/40.jpg)
Stav objektu
• Aktuálne hodnoty všetkých atribútov objektu nazývame stav objektu.
• Zmenou hodnoty ktoréhokoľvek atribútu sa mení stav objektu.
• Kedy sú dva objekty v rovnakom stave?
• Na základe čoho sa zmení stav objektu?
Informatika 1 39
![Page 41: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/41.jpg)
Chovanie objektu
„Každý hmotný bod v inerciálnej sústave zotrváva v pokoji alebo v rovnomernom priamočiarom pohybe, kým nie je nútený vonkajšími silami tento svoj stav zmeniť.“
Isaac Newton
• Objekt zachováva svoj stav, kým nie je nútený zmeniť ho na základe prijatej správy.
Informatika 1 40
![Page 42: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/42.jpg)
Metódy objektu
• Reakcia objektu na doručenú správu – metóda
• Metóda – algoritmus (predpis), čo urobiť, keď objekt príjme správu
• Metódy určujú možné chovanie objektu
Informatika 1 41
![Page 43: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/43.jpg)
Správa → metóda
• Každej správe z rozhrania objektu je priradená práve jedna metóda objektu
• protokol – zobrazenie množiny správ na množinu metód
• V programovacích jazykoch (až na výnimky) správa a metóda majú rovnakú štruktúru
• Poslanie správy – volanie metódy
Informatika 1 42
![Page 44: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/44.jpg)
Objekt, trieda a inštancia
Informatika 1
Objekt Trieda
Objekt Inštancia
Objekt Inštancia
43
![Page 45: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/45.jpg)
Objekt, trieda a inštancia
• Továreň – objekt, ktorý vyrába iné objekty – výrobky
– (často rovnako pomenovane ako továreň)
• Trieda – objekt, ktorý vytvára rovnaké objekty
• Inštancia – objekt, ktorý vyrobila trieda
• Príklad:
– Škoda
• trieda na auta značky Škoda
– škoda_ZA765CK, škoda_KM583AZ
• inštancie triedy Škoda
Informatika 1 44
![Page 46: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/46.jpg)
Trieda ako továreň
• Objekt – prijíma správy
• Špeciálny objekt – vytvára (svoje) inštancie
• Kedy trieda vytvorí novú inštanciu?
• Špeciálna správa – žiadosť o novú inštanciu
Informatika 1 45
![Page 47: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/47.jpg)
Trieda ako typ
• Na triedu sa dá pozerať aj ako na typ objektu
• Škoda je typ všetkých aut, ktoré boli vyrobené továrňou Škoda
Informatika 1 46
![Page 48: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/48.jpg)
Životný cyklus inštancie
• Príklad:
– továreň vyrobí nové auto
– auto používa jeho vlastník (vlastníci)
– posledný vlastník odovzdá staré auto do zberných surovín
– alebo na mieste, kde ho prevezme zberná služba
Informatika 1 47
![Page 49: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/49.jpg)
Ilustrácia životného cyklu
Informatika 1
čas
vytvorenie a inicializácia
prijíma správy zrušenie
48
![Page 50: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/50.jpg)
Životný cyklus inštancie
• Časový interval existencie inštancie
• Na začiatku inštancia vzniká – vytvorí ju trieda
– V okamihu vzniku objektu musí byť definovaný aj jeho stav – začiatočný stav
– V programovacích jazykoch je za nastavenie začiatočného stavu zodpovedná špeciálna metóda nazývaná konštruktor.
• Inštancia žije – poskytuje služby
• Na konci sa inštancia na požiadanie zničí, alebo ju zruší zberná služba – garbage collector
Informatika 1 49
![Page 51: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/51.jpg)
Identita objektu
• Identita objektu – vyjadruje vnútornú vlastnosť objektu, fakt jeho existencie a jednoznačnú odlíšiteľnosť od iných akokoľvek podobných objektov
• Na vyjadrenie svojej identity objekty používajú jednoznačnú identifikáciu – jednoznačné vonkajšie označenie určitého objektu, pomocou ktorého ho dokážu odlíšiť od všetkých podobných
– Môžeme modelovať pomocou atribútu
Informatika 1 50
![Page 52: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/52.jpg)
Názov objektu
• Názov objektu je jeho pomenovanie, pomocou ktorého sa naň odvolávame
• Objekt môže mať aj viac názvov
– Ja, ty, Jožko, pán majster – všetko sa vzťahuje na rovnaký objekt
• Rovnaký názov môže v rôznych okamihoch odkazovať na rôzne objekty
– obsluhovaný klient – najskôr je to pán Novák a potom ho vystrieda pani Krásna, atď
• Názov na rozdiel od identity nie je unikátny
Informatika 1 51
![Page 53: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/53.jpg)
Štruktúra správy
• príklad správy
kruhModry.posunVodorovne(in 100)
Informatika 1 52
![Page 54: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/54.jpg)
Časti správy
• Adresát – objekt, ktorému je správa určená
– kruhModry
• Názov správy – selektor, naznačuje, o čo adresáta žiadame
– posunVodorovne
• Parametre – spresňujú žiadosť
– (in 100)
Informatika 1 53
![Page 55: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/55.jpg)
Parametre správy
• Vstupné – doplňujúce informácie pre adresáta
• Výstupné – informácie, ktoré adresát vráti odosielateľovi ako výsledok reakcie na správu
• Návratová hodnota – špeciálna forma výstupného parametra v programovacích jazykoch
Informatika 1 54
![Page 56: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/56.jpg)
Parametre správy
• adresát.selektor(in parameter1, out parameter2)
• in – označuje vstupný parameter
• out – označuje výstupný parameter
• inout – označuje parameter, ktorý je aj vstupný aj výstupný
Informatika 1 55
![Page 57: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/57.jpg)
Literatúra
• BARNES, D., KÖLLING, M.: Objects First with Java: A Practical Introduction Using BlueJ. 3rd edition. Pearson. 2006. ISBN 978-0-13-197629-0.
• PECINOVSKÝ, R.: Myslíme objektově v jazyku Java. 2 vydanie. Praha : Grada publishing. 2009. ISBN 978-80-247-2653-3.
• KRAVAL, I.: Základy objektově orientovaného programování za pomoci jazyka Microsoft® Visual Basic 5.0. Praha : Computer Press. 1998. ISBN 80-7226-047-2
• materiály na http://vzdelavanie.uniza.sk/
Informatika 1 56
![Page 58: Princípy objektového programovania€¦ · potrebné informácie –Človek stlačí tlačidlo na diaľkovom ovládači – číslo ... •Model je zjednodušením reality – uvažuje](https://reader035.fdocument.pub/reader035/viewer/2022071114/5feb7dbd456f533f1f08a03c/html5/thumbnails/58.jpg)
Vďaka za pozornosť