Objektově orientované programování

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Zápis konstruktů OOP v Javě: Zobecněno, odkaz na syntaxi Javy a modifikátory)
(Zprávy: Odkazy na datové typy)
Řádka 75: Řádka 75:
 
; Metoda má:
 
; Metoda má:
 
* název
 
* název
* parametry (mají typ a název)
+
* parametry (mají [[Java: Datové typy|typ]] a název)
* návratový typ (používá se klíčové slovo <code>return</code>)
+
* návratový [[Java: Datové typy|typ]] (používá se klíčové slovo <code>return</code>)
; Přetěžování metod  (overloading)
+
; Přetěžování metod  (''overloading'')
 
*Jedna třída může mít více metod se stejným jménem.
 
*Jedna třída může mít více metod se stejným jménem.
 
*Metody se stejným jménem se musí lišit:
 
*Metody se stejným jménem se musí lišit:
 
**počtem parametrů
 
**počtem parametrů
**typem parametrů
+
**[[Java: Datové typy|typem]] parametrů
 
**(nebo obojím)
 
**(nebo obojím)
; Překrývání metod (overlaying)
+
; Překrývání metod (''overlaying'')
 
*souvisí s dědičností a polymorfismem
 
*souvisí s dědičností a polymorfismem
 
*potomek může na stejnou zprávu reagovat jinak, než předek
 
*potomek může na stejnou zprávu reagovat jinak, než předek
Řádka 91: Řádka 91:
 
*pro dílčí podúkoly by měla delegovat volání na další metody či jiné objekty
 
*pro dílčí podúkoly by měla delegovat volání na další metody či jiné objekty
 
*délka metody bez deklarace proměnných cca 5 řádků
 
*délka metody bez deklarace proměnných cca 5 řádků
 +
 
=== Atributy ===
 
=== Atributy ===
 
*Atributy jsou realizovány proměnnými.
 
*Atributy jsou realizovány proměnnými.

Verze z 17. 10. 2013, 09:15


Obsah

Co je to OOP?

Základní paradigma OOP

Cíle

Model systému pohledem OOP (konstrukty OOP)

Objekt
Zprávy, rozhraní
třída a 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