Objektově orientované programování

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Příklady použití rysů OOP v knihovnách Javy: Opraven vzhled i příklady.)
(Zápis konstruktů OOP v Javě: Zobecněno, odkaz na syntaxi Javy a modifikátory)
Řádka 59: Řádka 59:
 
**jinak používáme skládání + delegování
 
**jinak používáme skládání + delegování
  
== Zápis konstruktů OOP v Javě ==
+
== Použití konstruktů OOP v programovacích jazycích ==
 +
 
 +
Syntaxe Javy viz [[Java: Zápis tříd]].
 +
 
 
=== Objekty, třídy ===
 
=== Objekty, třídy ===
 
*Každý objekt je instancí některé třídy
 
*Každý objekt je instancí některé třídy
Řádka 65: Řádka 68:
 
**ostatní třídy jsou jejími potomky
 
**ostatní třídy jsou jejími potomky
 
; Vytváření objektů
 
; Vytváření objektů
*operátor new
+
*operátor <code>new</code>
 
*konstruktor
 
*konstruktor
 
**implicitní konstruktor
 
**implicitní konstruktor
Řádka 100: Řádka 103:
 
*Zabírají paměť jen jednou, bez ohledu na počet instancí.
 
*Zabírají paměť jen jednou, bez ohledu na počet instancí.
 
; Přístupnost metod a atributů (určena modifikátory)
 
; Přístupnost metod a atributů (určena modifikátory)
*<code>private</code>
+
* pouze ze tříd v jednom balíčku
**přístupnost pouze ze tříd v jednom balíčku
+
* navíc z potomků třídy
**implicitní volba (zvoleno automaticky, když neuvedeme)
+
* z libovolné třídy
*<code>protected</code>
+
Syntaxe v Javě viz [[Java: Modifikátory přístupu]].
**přístupnost navíc ze tříd, které jsou potomky třídy, kde je použito
+
*<code>public</code>
+
**přístupnost z libovolné třídy
+
 
=== Dědičnost ===
 
=== Dědičnost ===
 
*Klíčové slovo <code>extends</code>.
 
*Klíčové slovo <code>extends</code>.

Verze z 11. 10. 2013, 12:23


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