All Flashcards

1
Q

Objekt v OOP

A

Autonomní a výpočetně úplná entina.

Každý objekt má identitu, která je nezávislá na atributech

Je to základní jednotka modularity a struktury objektově orientovaného programu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Abstrakce

A

Schopnost programu zjednodušit některé aspekty informací či vlastností objektů

Vytváření abstrakce - Skrývání detailů do černé skříňky (blackbox), pro okolí je definována jen svým protokolem

Míra abstrakce - určuje jak moc se rozhraní černé skříňky přibližuje realitě

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Zapouzdření

A

Uzavření vůči okolní objektům

Přístup jen přes veřejný protokol (message lookup)

Zasílání zprávy - obsahuje š informace. Jméno zprávy, skrytý self parameter, parametry methody

Protokol rozhodne o reakci na zprávu
Invokace (metody v daném objektu, nebo některém z jeho rodičů)

Chyba - vyhodí se výjimka, objekt nerozumí zprávě

Pokud posílá objekt zprávu sám sobě, komunikuje přes interní protokol

Zasíání zprávy

Protokol příjemce rozhodne o reakci na zprávu

Přístup k atributu (čtení nebo zápis)
Invokace odpovídající metody a vracení výsledku
Chyba - nerozumí zprávě.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Polymorfismus

A

Stejnou zprávu lze zaslat jiným objektům.

Každý objekt má možnost individuální rekace (invokace různých metod)

Určení reakce na zprávu

Statická - určí se při překladu programu (Při nepolymorfních funkcích je toto možné)

Dynamická - určí až za běhu pomocí (VMT) (která vzniká za překladu). Při polymorfních metodách u statických, dynamické jazyky používají pouze VMT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Dědičnost

A

Umožňuje sdílet stejné chování. Zlepšuje znovupoužitelnost kódu. Možnost specializovat objekt (kočka -> Majska myvali)\

Do specializovaného objektu lze přidat nové položky a modfikovat jeho metoydy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vytváření nových objektů

A

Vytvořit prázdný objekt a naplnit ho daty

Kopie(klonování) + úprava položek (Prototyp - kloovaný objekt)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly