Objektově orientované programování

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Rysy OOP: Drobné úpravy)
m (Model systému pohledem OOP (konstrukty OOP): Osamostatnění pojmů)
Řádka 23: Řádka 23:
 
*Základní pojem.
 
*Základní pojem.
 
*Model světa pohledem OOP je množina objektů (entit), které si posílají zprávy.
 
*Model světa pohledem OOP je množina objektů (entit), které si posílají zprávy.
; Zprávy, rozhraní
+
; Zpráva
*pokud chce objekt komunikovat s jiným objektem, použije zprávu
+
*pokud chce objekt komunikovat s jiným objektem, posílá mu zprávu
*rozhraní objektu
+
 
**Množina zpráv, na kterou umí daný objekt reagovat.
+
; Rozhraní objektu/třídy
; třída a instance
+
*Množina zpráv, na kterou umí daný objekt reagovat.
 +
 
 +
; Třída
 
*Třída je seskupení objektů stejného typu.
 
*Třída je seskupení objektů stejného typu.
**podchycuje na obecné úrovni podstatu všech objektů podobného typu
+
*Podchycuje na obecné úrovni podstatu všech objektů podobného typu
 
*Třída je „šablona“ pro vytváření objektů.
 
*Třída je „šablona“ pro vytváření objektů.
*Objekt je tedy instancí třídy.
+
 
 +
; Instance
 +
*Objekt dané třídy nazýváme někdy také ''instancí'' třídy.
 +
 
 
; Atributy
 
; Atributy
 
*Každá entita modelovaného světa má vlastnosti.
 
*Každá entita modelovaného světa má vlastnosti.
 
*Ty vlastnosti, které jsou pro náš model podstatné, zachycujeme pomocí atributů.
 
*Ty vlastnosti, které jsou pro náš model podstatné, zachycujeme pomocí atributů.
 +
 
; Stav objektu
 
; Stav objektu
 
*aktuální hodnoty jeho atributů.
 
*aktuální hodnoty jeho atributů.

Verze z 13. 1. 2014, 06:33


Obsah

Co je to OOP?

Základní paradigma OOP

Cíle

Model systému pohledem OOP (konstrukty OOP)

Objekt
Zpráva
Rozhraní objektu/třídy
Třída
Instance
Atributy
Stav objektu

Rysy OOP

Abstrakce (abstraction)
Zapouzdření (encapsulation)
Polymorfismus (polymorphism)
Skládání (agregation)
Delegování (delegation)
Dědičnost (inheritance)

Použití konstruktů OOP v programovacích jazycích

Syntaxe Javy viz Java: Zápis tříd.

Objekty, třídy

Vytváření objektů

Zprávy

Metoda má
Přetěžování metod (overloading)
Překrývání metod (overlaying)
Atomizace metod

Atributy

Instanční proměnné
Třídní proměnné
Přístupnost metod a atributů (určena modifikátory)

Syntaxe v Javě viz Java: Modifikátory přístupu.

Dědičnost

Abstraktní třída

Rozhraní (interface)

Nepleťte s pojmem „rozhraní třídy“ ve smyslu souhrnu všech metod!
Pokud implementujeme interface, pak „slibujeme“, že součástí rozhraní třídy jsou minimálně metody, zahrnuté v interface.

Operátory this a super

Příklady použití rysů OOP v knihovnách Javy

Polymorfismus
Skládání

Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje