Diskuze: OOP program
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
To že máš jeden objekt neznamená že je to objektové. Main by mělo být skoro prázdné. Navíc v něm děláš páté přes deváté. V první polovině tam zjišťuješ heslo, pokud zadá heslo dobře hned na poprvé, vypisuješ mu hlášku 2×. V druhé polovině už používáš switch. Ten by měl být v objektové aplikaci minimálně. Dá se ho jednoduše zbavit, pomocí rozhraní a reflexe.
Uč se dál.
nosekt: doporucuji, aby sis zopakoval zapouzdreni (zbav se public promennych): http://www.itnetwork.cz/…programovani
Hodne stesti
Samozřejmě, že nečekám, že by to bylo úplně správně. Prošel jsem si prvních 6 lekcí OOP tady na devbooku, takže např. vlastnosti, reflexe atd. pochopitelně používat ještě neumím. Hlášku 2x nevypisuju, to nevím, kde jsi na to přišel. Každopádně jsem čekal spíše odpověď typu: nahraď switch "něčím", než: "switch tam nemá co dělat, uč se dál." Radši bych od vás viděl nějaké rady, které mi v něčem opravdu pomůžou
Chyb tam je plno, ale je zbytečné je opravovat, prostě probírej dál a za týden se koukni na tenhle zdroják a uvidíš, jestli je najdeš
v podmínce
if (ucet.Verificate(password))
{
//metoda vrátila pravdu, sdělíme to uživateli
Console.Clear();
Console.WriteLine("The password verification was successful. You can manage your account now.");
}
vypisuješ poprvé, pak hned za podmínkou vypisuješ totéž.
Switche se zbavíš tak, že si vytvoříš rozhraní (třeba IBankovniOperace) a třídy, které budou toto rozhraní implementovat (např. Vyber, Vloz). Pak uživatele necháš zadat co chce udělat, on zadá název te třídy a pomocí reflexe vytvoříš instanci te třídy a zavoláš na ni nějakou metodu, kterou má to rozhraní. Na začátek to možná zní složitě.
Myslím si, že je lepší v menších projektech používat jednodušší řešení. Kromě toho se nosekt zřejmě učí základy OOP a reflexe k nim zrovna nepatří.
jasně souhlasím, ale
1.) Jeho malý bankovní systém může brzy a rychle nabobtnat.
2.) přijde mi lepší naučit se to praxi (hned si to vyzkouší) než si
načíst miliony dokumentů, ale stejně protože jsi to zatím nikdy nepoužil
tak ti to bude k ničemu. Toto jsem si říkal o samotném OOP, databázích,
LINQ, WPF a mnoho dalších. O každém z nich jsem něco věděl měl
přečtené, ale dokud jsem to v praxi nepoužil tak mi to jako bylo celkem k
ničemu. proto si myslím, že by se to mohl naučit už teď když s tím
pracuje.
Blbost. Nemůžeš nutit začátečníka učit se vše hned správně. Když se "naučí" něco maličko špatně resp. sám si t ošpatně napíše a časem se naučí lepší způsob - jemu samotnému dojde co dělal špatně a díky tomu se naučí víc přemýšlet a navrhovat. Jeho řešení až tak špatné není. V dobách začátků bych to dělal podobně
Zobrazeno 11 zpráv z 11.