Principy objektově orientovaného programování

Miroslav Beneš

Katedra informatiky FEI VŠB-TU Ostrava

Obsah

1.1. Objekty a třídy
1.1.1. Objekt
1.1.2. Třída
1.2. Vztahy mezi objekty a třídami
1.2.1. Spojení
1.2.2. Asociace
1.2.3. Agregace a kompozice
1.2.4. Pojmy k zapamatování
1.2.5. Úlohy k řešení
1.3. Dědičnost a polymorfismus
1.3.1. Dědičnost tříd
1.3.2. Abstraktní třídy a rozhraní
1.3.3. Polymorfismus
1.3.4. Úlohy k řešení
1.4. Závěr
1.5. Další zdroje

Cíl kapitoly

Po prostudování této kapitoly budete umět

Průvodce studiem

Tato kapitola představuje stručný úvod do pojmů a principů objektově orientovaných metod návrhu a realizace aplikací. I když jste se ve své praxi s objektově orientovaným programováním již určitě setkali, musíme si nejprve dohodnout určitou terminologii a způsob, jakým budeme pro znázornění složitějších objektových konstrukcí využívat grafických prvků. Grafická notace založená na modelovacím jazyku UML nám často zjednoduší a zpřehlední popis vztahů mezi objekty a jejich třídami a je běžnou metodou komunikace mezi analytiky, návrháři a programátory. Proto je její zvládnutí nutné k dorozumění s ostatními členy vývojového týmu i se zadavateli projektů.

Nebudeme se samozřejmě zabývat všemi aspekty objektově orientovaného návrhu, neboť bychom příliš překročili rozsah tohoto kurzu a byl by to spíš námět na samostatný studijní text. Pokud byste se touto oblastí chtěli zabývat podrobněji, je na konci kapitoly uvedena doporučená literatura vhodná i pro samostatné studium. Zaměříme se výhradně na oblast popisu statické struktury tříd a objektů a jejich vzájemných vztahů.

Ke studiu této kapitoly nebudete potřebovat žádné speciální vybavení, vystačíte s obyčejnou tužkou a papírem. Pokud byste se chtěli prakticky seznámit s pokročilejšími nástroji CASE (Computer Aided Software Engineering) na vytváření grafických objektových modelů, doporučuji například produkt Poseidon, jenž je dostupný i ve volně použitelné verzi CE (Community Edition).