Obsah

Export page to Open Document format

36 - Objektová orientace

Základní pojmy

1. Objekt

Identita vs. Shoda

2. Abstrakce

Modifikátory viditelnosti

3. Zapouzdření

4. Polymorfismus

například mějme Interface Tvar, který deklaruje metodu vypocitejObsah() ⇒ dále si pak vytvoříme jednotlivé tvary - Ctverec a Obdelnik, ktere budou implementovat nase rozhrani Tvar ⇒ tedy musi definovat vsechny metody, ktere nase rozhrani obsahuje ⇒ v nasem pripade metodu vypocitejObsah(), ktera se bude list v zavislosti na zvolenem tvaru

Přetěžování metod

například nase třída Obdelnik by mohla mít hned několik konstruktorů:
> public Obdelnik() - vytvoří defaultní obdélník například o velikosti stran a=4, b=5 jednotek
> public Obdelnik(int a, int b) - vytvoří obdélník o zadaných velikostech
> public Obdelnik(Point bod) - vytvoří obdélník o velikostech definových v jiné třídě

Přetěžování operátorů

například operátor + může sečíst dvě čísla, může konkatenovat dva řetězce, může sečíst jednotlivé položky dvou asociativních polí

Časná a pozdní vazba

5. Dědičnost

jako příklad jde uvést třída Hráč, která má vlastnosti, jméno, příjmení, věk ⇒ existují ovšem různé typy hráčů, jako je útočník, obránce, brankář ⇒ u každého si budeme ovšem chtít pamatovat jiné vlastnosti (střelené góly vs. zákroky) ⇒ proto vytvoříme dané třídy rozšířením základní třídy hráč ⇒ třídy budou sdílet pouze atributy z rozšiřované třídy

Rozhraní

Datové a řídící abstrakce

1. Třídně orientované jazyky

Instanciace objektů

metod ⇒ inicializuje datové položky objektu

Destrukce objektů

Static

2. Prototypově orientované jazyky

Prototyp, rys a klonování objektů

Formální základ

Backus-Naurova forma

<if-stmt>
::= if <condition> then <stmts> <else-if>
<else-if>
::= endif ;
| else <stmts> endif ;
| <elsif> <else-if>

ς-kalkul

UML

Překlad

Výhody a nevýhody

+

-

Zdroj

Při tvorbě tohoto tématu jsem čerpar především z druhých skript IPP. Snažil jsem se udělat co nejpřehlednější výtah pro rychlé učení.

Potvrzení

36
Celé jménoOK!!!
Jirka Hynek2011-02-14 14:15:09 
vagy2011-02-15 12:39:52 
Tom Ofeig2011-05-11 22:42:00 
 3