Ukázky tříd - úvod
Toto cvičení slouží jako úvod do objektového programování, návrhu tříd. Ukážeme si základy tříd, motivaci, a vysvětlíme, proč třída je spíše „knihovna“ a ne „program“. Častou chybou je, že se dosavadní funkce zapouzdří do třídy a řekne se, že je třída hotová. Pokud je to ovšem jediná úprava, potom je něco špatně, protože třídu vlastně nepotřebujeme. Z toho bychom tedy mohli říct, že návrh není zásadně špatně když: naše třída obsahuje data a metody s nimi pracující, a když se naše třída začne vyskytovat jako parametr při volání metod.
Základní popis třídy, metod a dat si ukážeme na vzorových třídách Komplex a String (ten má dynamické prvky = nutný pečlivější přístup).
Stáhněte si soubory se třídami Komplex a string a vytvořte pro ně (pro každou zvlášť) projekty. Projekt sestává ze tří souborů (které jsou zde ovšem v jednom a proto je nutné je rozdělit) – zdrojového a hlavičkového třídy, a ze souboru demonstrujícího práci se třídou. Zkuste tento projekt přeložit a následně trasovat, s tím, že si před každým krokem řeknete co se asi stane. Po kroku si zkuste zdůvodnit proč se stalo to co se stalo.
Všimněte si především:
- jak prvek
vzniká
- jak a kdy zaniká (dejte si break point do
destruktoru)
- funkce operátorů (všimněte si vzniku
dočasných proměnných při vracení objektů
hodnotou)
- jak jsou počítány aktivní a
vzniklé objekty dané třídy (definice a
manipulace se statickými proměnnými)
Promyslete si, co byste po těchto třídách požadovali vy, jak byste je realizovali a podívejte se jak je to realizováno. Zkuste si vymyslet nějakou jinou metodu (konstruktor, operátor, metodu výpočtu …) a cvičně ji dopište do daného základního kodu.
Poslední úpravy 2008-07-29