OBSAH WEBU
ČTĚTE!
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
temata:36-obejktova_orientace:main [2011/02/14 14:07] george [2. Prototypově orientované jazyky] |
temata:36-obejktova_orientace:main [2011/05/06 18:10] (aktuální) vagabund [36 - Objektová orientace] |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ~~ODT~~ | ||
+ | |||
====== 36 - Objektová orientace ====== | ====== 36 - Objektová orientace ====== | ||
Řádek 16: | Řádek 18: | ||
===== Základní pojmy ===== | ===== Základní pojmy ===== | ||
* na těchto pojmech/metodách je objektově orientované programování založeno | * na těchto pojmech/metodách je objektově orientované programování založeno | ||
- | * **__Objekt, Abstrakce, Zapouzdření, Polymorfismus, Dědičnost__** | + | * **[[#1. Objekt|Objekt]], [[#2. Abstrakce|Abstrakce]], [[#3. Zapouzdření|Zapouzdření]], [[#4. Polymorfismus|Polymorfismus]], [[#5. Dědičnost|Dědičnost]]** |
==== 1. Objekt ==== | ==== 1. Objekt ==== | ||
Řádek 230: | Řádek 232: | ||
* další možný formalismus | * další možný formalismus | ||
* grafický jazyk | * grafický jazyk | ||
- | * více [[temata:31-jazyk_uml:main|zde]] | + | * více [[temata:31-uml:main|zde]] |
+ | |||
+ | ===== Překlad ===== | ||
+ | * ukládá popis každé třídy do speciálního prostoru | ||
+ | * vytváří graf závislostí jednotlivých tříd a poté je lineárně uspořádává => na to nemusí stačit jeden průchod | ||
+ | * náročná je práce s jmennými prostory a modifikátory viditelnosti | ||
+ | * **fáze:** | ||
+ | - __[[temata:22-prekladace:main#Lexikální analyzátor|lexikální]] a [[temata:22-prekladace:main#Syntaktický analyzátor|syntaktická]] analýza__ - podobná úroveň jako u modulárních jazyků | ||
+ | - __[[temata:22-prekladace:main#Sémantický analyzátor|sémantická]] analýza__ - oproti modulárním jazykům mnohem náročnější | ||
+ | * kontrola implicitního přetypování ([[#Časná a pozdní vazba]]) | ||
+ | * kontrola explicitního přetypování objektu ([[#4. Polymorfismus|Polymorfismus]]) | ||
+ | * [[#Modifikátory viditelnosti]] | ||
+ | * **interpret** | ||
+ | * k práci potřebujeme //workspace// - uchováváme si v něm všechny objekty, s kterými se pracuje | ||
===== Výhody a nevýhody ===== | ===== Výhody a nevýhody ===== | ||
Řádek 249: | Řádek 264: | ||
* režie na uložení objektů v paměti (např. odkaz na třídu objektu) | * režie na uložení objektů v paměti (např. odkaz na třídu objektu) | ||
+ | ===== Zdroj ===== | ||
+ | |||
+ | <note> | ||
+ | Při tvorbě tohoto tématu jsem čerpar především z [[https://wis.fit.vutbr.cz/FIT/st/course-files-st.php/course/IPP-IT/texts/IPP-II-ESF-1_1_printable.pdf|druhých skript IPP]]. Snažil jsem se udělat co nejpřehlednější výtah pro rychlé učení. | ||
+ | </note> | ||
===== Potvrzení ===== | ===== Potvrzení ===== | ||