zdravim, mam robit do skoly projekt a chcel by som s nim len poradit, zadanie znie:
Informačný systém DVD požičovne
a funkcie v tom:
• Zaradenie DVD filmu do a vyradenie DVD z evidencie:
o DVD sa evidujú údaje pôvodný názov, preložený názov, žáner, krajina, ktora DVD vydala, dĺžka v min., dátum vydania, kde sa nachádza – poradové cislo/clen klubu (číslo preukazu)
• Vyhľadávanie DVD podla pôvodneho nazvu, prelozeneho nazvu, roku, žánru
• Zaradenie a vyradenie členov do a z evidencie :
o členovi sa evidujú meno a priezvisko, adresa, číslo preukazu, straty
• Požičanie DVD členom, vrátenie DVD
• Strata (zničenie, poškodenie) DVD členom
• Zoznam DVD, ktoré ma určitý člen požičané
• História výpožičiek DVD
• História výpožičiek člena
a moja otazka je, ze ci by mi niekto neporadil ako to spravit, aby to bolo objektovo orientovane, cize aby tam bola pouzita ohranicenost, dedicnost, polymorfizmus, abstraktna trieda alebo aspom cast z toho.
dik
Fórum › Delphi
Poradit s projektom

No,
V prvom rade by som urcite pouzil nejaku databazu. Tento projekt je trivialny, takze len dufam, ze uz ste sa stretli s DB systemami v skole (popripade ty sam doma). Odporucam napr. Firebird, sadnut a navrhnut datovy model. Zvysok je uz len prkotina.
Samozrejme, ze pedagog chce OOP - hoci by som vedel o tisic projektoch, kde sa da v OOP vyblaznit, tu s nim mozes len vybabrat. Najlepsie ukazat pracu s objektami je v odvozdovani formularov. Napr. si vytvoris TBaseDialog formular, ktory moze mat napr. staticku metodu Zobraz (public) a zopar dynamickych (kontrola pristupu). Na form umiestnis napr. Panel s alignom bottom, na nom dve tlacidla. Jedno ma akciu OK druhe zrusit (z TActionListu). Akcie odkazuju na dynamicku metodu "DoOK" a "DoCancel" (protected). V tele OK je napr. odkaz na abstraktnu triedu Kontroluj, ktoru si v konkretnych formularoch overridnes a obsah zadas podla potreby.
Potom by si mohol vytvorit v kazdom forme parametrovy system, ktory by sa ukladal do DB (pamatanie posledneho zvoleneho adresara, chcekov v konfiguracii apod.). Existovala by teda napr. jedna trieda TParameterAbs, ktory by mal odprogramovane zakladne veci ako ukladanie do db, nacitanie (najlepsie dynamicky z TypInfo published property). Kazdy form by mohol potom vytvarat "vlastnu" triedu TParameterDialogNastavenia. V TBaseDialogu by si mal odprogramovanu pracu s TParameterAbs, no property by obsahovala abstraktny getter. Ten by sice vracial TParameterAbs, ale dialog by vytvaral Result := TParameterDialogNastavenia.Create; V dialogu by si samozrejme musel pristupovat ku datam tak, zeby si tu property precastoval na zvoleny typ, o ktorom vies, ze vlastne existuje.
Je to len na tebe, moznosti je, ale ziadna slava :(
dik, ale na mna je to trochu zlozite. napadla ma taka vec, ze to zadanie trochu pretransformujem a to takym sposobom, ze nespravim ako pozicovnu len filmov, ale aj hier alebo aj inych dvd, proste nosicov. tie budu mat spolocne potom atributy ako nazov, krajina povodu, rok vzniku a tak, ktore sa mozu dedit, a rozdielne potom napr. pre hry platformu a pre filmy napr. zvukovu stopu, prelozeny nazov a tak. myslim, ze takto by sa to robilo trochu jednoduchsie. co myslis?

Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
































Uživatelé prohlížející si toto vlákno
Podobná vlákna
Potrebujem pomoct s rocnikovym projektom — založil petersonsvk
Potrebujem poradiť C++ — založil toso992
Pořebuju poradit — založil Luděk Navrátil
Potrebujem poradit — založil sa54d
Potrebujem poradit... — založil SVKSuli