PDF

Princípy objektovo orientovaného programovania

Prvá prednáška

Formát
PDF
Veľkosť
1,2 MB
Pridané
Stiahnutí
1 222
Stiahnuť PDF · 1,2 MB

Preber si túto poznámku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto poznámky.

Otvoriť AI: ChatGPT · Claude · Gemini

Náhľad poznámky

Princípy objektového
programovania

Informatika 1

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

Veci okolo nás

Informatika 1

2

Informatika 1

Televízor – ako sa používa?

+ návod na použitie

3

Televízor – čo je vo vnútri?

• Z čoho sa skladá?
• Ako funguje?

• Musíme to vedieť, keď ho používame?

Informatika 1

4

Veci okolo nás

Informatika 1

5

Práčka – ako sa používa?

Informatika 1

6

Veci okolo nás

Informatika 1

7

Veci okolo nás

Informatika 1

8

Veci okolo nás

Informatika 1

9

Veci okolo nás

Informatika 1

10

Veci okolo nás

Informatika 1

11

Veci okolo nás

Informatika 1

12

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

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

Veci okolo nás

Informatika 1

objekty

15

Objekt televízor

Informatika 1

16

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

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

Objekt práčka

Informatika 1

19

Práčka má vlastnosti

• Rozmery
• Hmotnosť dávky prádla
• Trieda úspornosti
• Značka
• plnenie zhora alebo zboku
• ...

Informatika 1

20

Práčka má funkcie

• Perie
• Zohrieva vodu
• Plácha
• Odstreďuje (žmýka)
• ...

Informatika 1

21

Č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

Objekty spolupracujú

Informatika 1

23

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

Objekty spolupracujú

Informatika 1

Všeobecne budeme hovoriť, že

objekty si posielajú správy

25

Základné pojmy OP

• Objekt
• Správa

Informatika 1

26

Modelovanie objektov

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

Postup pri tvorbe programu

• Objekt reálneho sveta

• Logický model – UML

• Softvérový model – program v Jave

Informatika 1

29

Reálny objekt

Informatika 1

30

UML model

Informatika 1

31

Softvérový model

Informatika 1

32

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

Používanie programu

Informatika 1

preklad

34

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

Ilustrácia štruktúry objektu

Informatika 1

atribút

rozhranie

metóda

správa

správa

36

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

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

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

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

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

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

Objekt, trieda a inštancia

Informatika 1

Objekt

Trieda

Objekt

Inštancia

Objekt

Inštancia

43

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

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

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

Ž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

Ilustrácia životného cyklu

Informatika 1

čas

vytvorenie

a inicializácia

prijíma správy

zrušenie

48

Ž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

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

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

Štruktúra správy

• príklad správy

kruhModry.posunVodorovne(in 100)

Informatika 1

52

Č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

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

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

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

Vďaka za pozornosť

Automaticky vygenerovaný textový náhľad. Pre plné formátovanie si stiahnite súbor.