Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Neumím objektově myslet v C#.

Ahoj, přecházím z jazyka C na oběktově orientované programování v jazyce C#... Práce s poly, metody atd. to všechno chápu, jak to zapsat, protože synataxe je velmi podobná Céčku. Ale dělá mi obrovské problémy vymyslet jakým způsobem to naprogramovat, aby byl kod co nejúspornější a hlavně přehledný. Příklady, které se mi dostaly pod ruku jsem zvlánul naprogramovat, ale strašně složitě, protože nevím jak ten program poskládat do tříd apod.

Od kamaráda mám třeba následující příklad:

V jazyce C# napište program pro generování jízdních řádů na dané trase. Jízdní řád bude vypočten z následujících informací:
• Seznam stanic na trase,
• doba jízdy v mezistaničním úseku,
• časy odjezdů dopravního prostředku z výchozí stanice

Požadované funkce programu
V minimální podobě bude program umožňovat následující funkce:
• Načtení seznamu stanic
• Načtení odjezdů z výchozí stanice
• Výpočet jízdního řádu
• Tisk JŘ na obrazovku
• Tisk JŘ do textového souboru (uživatelem zadané jméno souboru)
• Uložení dat JŘ do souboru (textového – např. seznam stanic na řádcích, středník, seznam odjezdů z výchozí stanice). Neplést s tiskem do souboru!!!
• Načtení JŘ ze souboru (předpokládejte, že formát dat bude vždy správný)

Jak byste to poskládaly vy? Ja jsem si říkal,že bych pro každou tu funkci vytvořil vlastní třídu, pak vytvořil instance a následně bych volal metody těch konkrétních oběktů... jako je: načtení seznamu stanic, doba jízdy v mezistaničním úseku apod.

Čeština pláče... v nadpisu upraveno slovo napsané původně jako oběktově ::)
Text dotazu upravovat nebudu, to by dalo moc práce. Ale prosím zkus příště myslet víc i na gramatiku. Tvrdé a měkké i/y, chybějící čárky :-( Jasně, nejsme na češtinářském serveru, ale prosím o snahu ;-)(fromM2U)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Necital som diskusiu ale len kratko: Triedy (class) su sablony pre objekty, a objekty je najlepsie r… poslední
MM.. 03.02.2007 14:52
MM..

Necital som diskusiu ale len kratko:
Triedy (class) su sablony pre objekty, a objekty je najlepsie robit tak, aby popisovali nejaky objekt z reality (samozrejme nie je to nutne, ale program je potom logickejsi), alebo nejaky celok, a v tej triede definujes nejake vlastnosti (premenne) objektu a nejake metody (operacie) ktore s tym objektom sa daju robit. Napr. trieda pre objekty typu "autobus", ak robis nejaky zoznam autobusov, tak ako vlastnosti autobusu v nej moze byt definovana napr. farba autobusu alebo cislo linky na ktoru je prave ten autobus nasadeny apod., a metody podla toho co to je za program, co potrebujes s autobusom v tom programe robit, ak potrebujes zmenit cislo linky tak si urobis metodu ZmenCisloLinky(int linka) apod., tu fciu si daefinujes v triede autobus.

Zdrojaky programu su potom "logickejsie" ptz. informacie o autobuse a aj vsetko co sa da s nim robit su uzavrete v triede autobus, a ine data su zas v inych triedach tam kam patria.
Vyhoda je aj ta ze ak vytvoris novy objekt autobus, tak ma ten objekt hned aj svoje vlastne vlastnosti, oddelene od ostatnych objektov autobus ktore si uz v programe vytvoril.

Skus si dat vyhladat (google) nieco o objektovych modeloch, objektove modelovanie, co ja viem ci je o tom nejaky rozumny pokec na internete.
Su aj knihy (neviem zhlavy nazvy, nazvy budu typu myslime objektovo apod), daju sa kupit v predajniach s PC literaturou, alebo urcite existuju aj v knizniciach (technicke kniznice hlavne mam na mysli)...

Zpět do poradny Odpovědět na původní otázku Nahoru