Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Peter Andras
Člen
Avatar
Peter Andras:11.7.2018 19:02

Zdravim uz som presiel lekcie z javy a teraz som zacal s OOP.SOm na zaciatku a chcel by som si naprogramovat OOP kalkulacku ako je v clanku uvadzane na precvicenie.Tu klasicku kalkulacku bez objektov mam hotovo a funguje vsetko ako ma ale teraz pri tej OOP som sa trosku zasekol,ani by som to nenazval ze neviem to urobit ale neviem nejako zacat.Necakam a ani nechcem aby mi sem niekto pridal hotovy kod len by som chcel aby ma niekto trosku usmernil ze co vytvorit ako objekt,kolko tried by som tam mal mat alebo nejaky smer mi udať.
Ďakujem

 
Odpovědět
11.7.2018 19:02
Avatar
Odpovídá na Peter Andras
Neaktivní uživatel:11.7.2018 19:15

<strong>Pozor, takhle se budeš muset rozhodovat celkem často.</strong> Zkus to sám. <code>Kalkulac­ka</code> se hodit určitě bude.

Nahoru Odpovědět
11.7.2018 19:15
Neaktivní uživatelský účet
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:11.7.2018 20:28

Pokud se takto ptáš, tak jsi špatně pochopil smysl OOP.
OOP je praktika, která má virtuální svět co nejvíc přiblížit tomu skutečnému.

Polož si sám otázky:

  • Z čeho se kalkulačka skládá?
  • Co všechno může být třeba třída, ze které potom budeš konkretizovat jednotlivé instance?
  • Co je potřeba s čím komunikovat?

Zkusím ti napovědět. Kdybys třeba dělal hru AZ-kvíz. Tak určitě budeš potřebovat nějakou hrací plochu - 1. třída. Dále budeš potřebovat jednotlivá políčka - 2. třída (jednotlivá políčka už budou konkrétní instance). Dále budeš určitě potřebovat třídu, která ti bude tahat otázky z nějaké databáze - 3. třída. Můžeš si udělat třídu, která ti bude kontrolovat logiku hry (skóre, čas, přehazování hráčů atd.) 4. třída Atd atd.

Ještě bych tě mohl takto navést.
Největší myšlenka OOP je, aby sis velký projekt rozdělil do malých oddílů. Takže kdybys programoval robota, tak budeš třeba samostatně programovat hlavu, ruku, nohu. A potom musíš mít další oddíl (třídu), která toto všechno hezky spojí dohromady.
Tak zkus přemýšlet i u té kalkulačky. Zkus si představit, jako kdybys ji chtěl vytvořit ve skutečném světě (a měl k dispozici potřebné součástky). Tak si to rozčleň do jednotlivých bloků a pak si je dej do hromady.

Popravdě takto i nejlíp poznáš, že programuješ objektově. Když dokážeš jednotlivou třídu použít v jiném projektu. Jak je třída až moc závislá na druhé, tak je něco špatně.

Nahoru Odpovědět
11.7.2018 20:28
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.