informatika:maturita:18a
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
informatika:maturita:18a [16. 02. 2015, 16.51] – Přidány vztahy mezi třídami. xmrnustik | informatika:maturita:18a [12. 02. 2018, 15.38] (aktuální) – [Objektově orientované programování (OOP)] xsilling | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Objektově orientované programování (OOP) ====== | ====== Objektově orientované programování (OOP) ====== | ||
- | Je programovací přístup založený na tom, že vše se dá popsat pomocí objektů. | ||
- | |||
- | <WRAP center round alert 60%> | ||
- | Text hotový, chybí obrázky | ||
- | </ | ||
- | |||
- | |||
+ | Je programovací přístup založený na principu, že se naprosto vše dá popsat pomocí jednotlivých objektů. | ||
+ | Viz [[informatika: | ||
===== Základní pojmy ===== | ===== Základní pojmy ===== | ||
==== Objekt ==== | ==== Objekt ==== | ||
- | Je základní jednotkou používánou | + | |
+ | Je základní jednotkou používanou | ||
==== Třída ==== | ==== Třída ==== | ||
- | Třída je taková | + | |
+ | Třída je prakticky | ||
==== Instance ==== | ==== Instance ==== | ||
- | Instance objektu je už běžící objekt (vytvořený | + | Instance objektu je už běžící objekt (vytvořený |
==== Atribut ==== | ==== Atribut ==== | ||
- | Jak už zde bylo několikrát zmíněno atribut je vlastností | + | |
- | Vlastnosti může | + | Atributy určují jednotlivé vlastnosti |
- | * Hodnotová vlastnost (spíše hodnotová proměnná) | + | |
- | * "Objektová vlastnost" - další objekt, který původní objekt používá (například Člověk má jako vlastnost objekty Srdce, Vlasy, Charakter,...) | + | Mohou mít dva základní |
+ | | ||
+ | * **Objektová vlastnost** – další objekt, který původní objekt používá (například Člověk má jako vlastnost | ||
==== Metoda ==== | ==== Metoda ==== | ||
- | Schopnost objektu provádět činnost. Může po svém provedení vracet nějakou hodnout (Srdce má metodu ZískatTlak(), | ||
- | Metoda může také přijímat | + | Schopnost objektu provádět určitou činnost. Metody po svém provedení vracejí určenou hodnotu (například metoda Srdce // |
+ | |||
+ | Metoda může také přijímat | ||
=== Konstruktor === | === Konstruktor === | ||
- | Speciální metoda konstruktoru, | ||
- | Pozn. V některých objektových programovacích jazycích existuje i speciální | + | Speciální |
+ | V některých objektových programovacích jazycích (C++) existuje i speciální metoda zvaná **destruktor**, | ||
===== Vztahy mezi objekty ===== | ===== Vztahy mezi objekty ===== | ||
Řádek 42: | Řádek 42: | ||
==== Závislost ==== | ==== Závislost ==== | ||
+ | Objekt, z kterého míří šipka, využívá ve svém kódu objekt do kterého šipka míří (například v argumentu metody nebo jako lokální proměnnou). | ||
+ | Př.: Object Zvíře obsahuje metodu nakrmit, která v rámci svého argumentu přijímá objekt typu Jídlo. | ||
- | Objekt, z kterého míří šipka, využívá ve svém kódu objekt do kterého míří šipka (například v argumentu metody nebo jako lokální proměnnou). | + | {{ : |
- | + | ||
- | + | ||
- | Př. Objekt Zvíře obsahuje metodu nakrmit, která v rámci svého argumentu přijímá objekt typu Jídlo. | + | |
==== Asociace ==== | ==== Asociace ==== | ||
Řádek 53: | Řádek 52: | ||
Objekty jsou v užším vztahu přímo v kódu. Jeden obsahuje referenci na druhý (například jako datový typ atributu). | Objekty jsou v užším vztahu přímo v kódu. Jeden obsahuje referenci na druhý (například jako datový typ atributu). | ||
- | Př. Objekt Auto obsahuje referenci na objekt Barva. | + | Př.: Objekt Auto obsahuje referenci na objekt Barva. |
+ | |||
+ | {{ : | ||
==== Agregace ==== | ==== Agregace ==== | ||
Řádek 59: | Řádek 60: | ||
Silnější vztah než asociace. Objekt na straně kosočtverce vlastní instance objektu na druhé straně. Při zániku prvního, ale nedochází k zániku druhých. | Silnější vztah než asociace. Objekt na straně kosočtverce vlastní instance objektu na druhé straně. Při zániku prvního, ale nedochází k zániku druhých. | ||
- | Př. Objekt | + | Př.: Objekt |
+ | |||
+ | {{ : | ||
==== Kompozice ==== | ==== Kompozice ==== | ||
Řádek 65: | Řádek 68: | ||
Silnější vztah než asociace. Objekt na straně kosočtverce vlastní instance objektu na druhé straně. Při zániku prvního zanikají i instance druhého. | Silnější vztah než asociace. Objekt na straně kosočtverce vlastní instance objektu na druhé straně. Při zániku prvního zanikají i instance druhého. | ||
- | Př. Objekt Škola obsahuje objekty typu Třída, které daná škola má. Ve chvíli, kdy škola zaniká nemůžou dále existovat objekty typu Třída samostatně. | + | Př.: Objekt Škola obsahuje objekty typu Třída, které daná škola má. Ve chvíli, kdy Škola zaniká nemůžou dále existovat objekty typu Třída samostatně |
- | ==== Dědičnost (nebo také specializace | + | {{ : |
+ | |||
+ | ==== Dědičnost (neboli | ||
Objekt, ze kterého míří šípka, je speciálním případem objektu druhého. | Objekt, ze kterého míří šípka, je speciálním případem objektu druhého. | ||
- | Př. Objekt Jablko je speciálním případem objektu Plod. | + | Př.: Objekt Jablko je speciálním případem objektu Plod. |
+ | |||
+ | {{ : | ||
==== Implementace ==== | ==== Implementace ==== | ||
- | Speciální vztah mezi rozhráním | + | Speciální vztah mezi rozhraním |
- | + | ||
- | Př. Objekt Auto implementuje metody rozhrání Pohybovatelný. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | Př.: Objekt Auto implementuje (pohybové) metody rozhraní Pohybovatelný. | ||
+ | {{ : |
informatika/maturita/18a.1424101872.txt.gz · Poslední úprava: autor: xmrnustik