OOP-Dotaz začátečníka – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

OOP-Dotaz začátečníka – .NET – Fórum – Programujte.comOOP-Dotaz začátečníka – .NET – Fórum – Programujte.com

 

Filip
~ Anonymní uživatel
121 příspěvků
15. 10. 2018   #1
-
0
-

Zdravím,

S programováním začínám a nevím jestli bych našel odpovědi na moje jednoduché otázky v nějakých tutoriálech(omlouvám se ,kdybych to přehlédnul). Moje otázky se začali klást přitom ,když mě napadlo si udělat takový vlastní program ,který by mi mohl ulehčit o něco práci (Jedná se o klubovou kasu ,kde bych jen zadával různé částky podle klubového ceníku ,nechci aby to někdo udělal za mě to by pak nemělo smysl. ;)

Zde moje otázky ,které mi pomohou k chápání OOP. 

Nevím ,jestli je dobré vytvořit Třídu Ceník a Třídu Hráč v ceníku mít operace přičti 25,50,100 atd. 

A propojit to s Třídou hráč ,který by měl Jméno a částku ,kterou dluží do kasy. Je lepší udělat dvě třídy nebo jednu?

Mám udělat Switch přímo v třídě Ceník? 

(Tuto otázku si vygooglím ,ale rád bych byl ,kdyby mi to někdo vysvětlil)Další otázka zní ,jak docílit toho ,že program si pomatuje hodnotu po vypnutí? 

Budu moc rád za váš čas k vysvětlení. Možná se ptám na úplné prkotiny ,ale kdo se nezeptá nic neví.

Nahlásit jako SPAM
IP: 149.255.83.–
Filip
~ Anonymní uživatel
121 příspěvků
15. 10. 2018   #2
-
0
-

Měl bych ještě dodat ,že to prozatím píšu v konzolové aplikaci ,nejdříve si to chci udělat nanečisto zde ,a poté ve Windows form. 

Nahlásit jako SPAM
IP: 149.255.83.–
Panda380
Newbie
15. 10. 2018   #3
-
0
-

Nechceš to udělat v PHP + MySQL? Výhoda - MySQL se stará o ukládání do databáze, pracuje se s tabulkami (nepotřeboval bys OOP), k pokladně bys měl přístup odkudkoliv, stačí spustit web prohlížeč a přihlásit se ke kase. Nevýhoda - musel bys řešit přihlašování, session, SQL příkazy, HTML kódy, stránky mít na nějakém veřejně přístupném serveru. Pro takové databázové aplikace je PHP+MySQL velmi vhodné. Ale je to celkem jednoduchý program, tak by stačil i C++ nebo C# s tím, že se data budou ukládat souborově (¨=aby si to "pamatovalo"). Na tohle by stačilo i ukládání do textového souboru, kde každý řádek bude jeden datový záznam. Pokud chceš použít objekty, tak by to byly 2 typy objektů, hráč:jméno+dluží, ceník:název+částka. V SQL by to byly 2 tabulky. V C by to byly 2 typy struktur v poli. Případně možná ještě budeš chtít historii, tj. třetí tabulka, ve které by bylo datum, hráč (nejlépe přes ID) a částka.

Nahlásit jako SPAM
IP: 94.113.242.–
Filip
~ Anonymní uživatel
121 příspěvků
15. 10. 2018   #4
-
0
-

#3 Panda38
Děkuji za pomoc. K PHP se snad někdy dostanu ,teď je hlavně účelem se nějak dostat do programování. Hledal jsem něco ,co využiji. Taky to má pro mě úplně jiný náboj než jiný zkušební aplikace ,co jsem si zkoušel předtím. Vydržel jsem se zažrat do programování dneska na 3,5 hodiny jen jsem si zkoušel ,jak co funguje skrz tu aplikaci ,kterou bych chtěl udělat. A to je myslím ,ta cesta jak se do toho dostat. 

Moc děkuji za tvoje rady. Zítra se na to mrknu (musím se naučit jak se pracuje s ukládáním do textového souboru) 

Nahlásit jako SPAM
IP: 149.255.83.–
Filip
~ Anonymní uživatel
121 příspěvků
15. 10. 2018   #5
-
0
-

Ještě jedna věc ,myslíš že je dobré se učit dva jazyky najednou? Nevím ,aby se mi to poté nepletlo mezi sebe a abych v tom nebyl zamotanej. 

Nahlásit jako SPAM
IP: 149.255.83.–
Panda380
Newbie
15. 10. 2018   #6
-
0
-

Víc jazyků se nebude plést, snad jen chvíli z počátku. Naopak jeden jazyk pomůže lépe porozumět jinému jazyku. Výsledně jsou všechny jazyky v podstatě stejné, jen se to trochu jinak zapisuje.

Nahlásit jako SPAM
IP: 94.113.242.–
Mutagen
~ Anonymní uživatel
549 příspěvků
16. 10. 2018   #7
-
0
-

Určitě jde o to jak si to rozvrhneš a jak to hlavně ty potřebuješ používat.

Já osobně bych to udělal tak, že bych měl třídu Hráč který by dědil třídu Cenik a v ceníku metody Pivo, Bramburky, Orisky a každá metoda by vrátila tvuj aktuální počet třeba Pivo return 25.

S tím, že Hráč by měl svuj depozit (Kasa) kam jsi jsi tyto akce přičítal (depozit += Pivo) a asi měl když už máš tu možnost udělal i klubovou kasu kde by sis třeba přičítal depozit od hráče který ti to zaplatil.

Ukládání asi nejlelpší do ini souboru je to aktuálně nejlehčí pro začátečníka. (Každý hráč by měl svuj vlastní ini soubor, třeba Franta.ini, kde by jsi měl aktuálně uložený jeho depozit)

Na ukládání bys mohl použít streamwriter a nebo přímo nějakej ini parser který ti dovolí načítat/ukládat data po sekcích.

Já rozhodně bych ten model udělal KlubováKasa která by v sobě měla List Hráčů (hráče jsme rozebrali nahoře) a promennou Kasa do který bys přičetl Hráčuv depozit pokud by "zaplatil" a hráčovi vynuloval.

Nahlásit jako SPAM
IP: 193.138.154.–
KIIV
~ Moderátor
+43
God of flame
16. 10. 2018   #8
-
+1
-
Zajímavé

#7 Mutagen
Hrac podedeny z ceniku nedava vubec smysl. Precijen to neni potomek ceniku (leda by to byl nejakej otrok ci tak?) a ani tak se polozky nededi z ceniku.

Mozna, kdyby hrac mel ucet (jako volitelny atribut) ziskany z konkretni prodejny a ta by pak mela k dispozici seznam zbozi, ceny a mnozstvi (nejaky inventar).

Nahlásit jako SPAM
IP: 185.163.40.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Panda380
Newbie
16. 10. 2018   #9
-
+1
-
Zajímavé

Dávat položky ceníku jako metody také není vhodné. Znemožnilo by to pracovat s nimi indexovaně a každá změna ceníku by vyžadovala změnu v programu. Položky ceníku by měly být zadány tabulkou (polem).

Nahlásit jako SPAM
IP: 94.113.242.–
Mutagen
~ Anonymní uživatel
549 příspěvků
16. 10. 2018   #10
-
0
-

#8 KIIV
Možná sem se blbě vyjádřil, měl jsem namysli tím, že přímo hráč bude mít přístup k metodám který by byly obsažený v ceníku ohledně toho, že this(hrac).deposit += pivo s tím, kde metoda pivo by byla obsažena v ceníku.

Samosebou, že by bylo nejlepší když Ceník by byl jako samostatný kde by pak volal hrac.depozit += cenik.pivo

Nahlásit jako SPAM
IP: 193.138.154.–
Filip
~ Anonymní uživatel
121 příspěvků
19. 10. 2018   #11
-
0
-

#9 Panda38
Takže ceník podle pomocí pole je nejlepší nápad? Neměl jsem ho vytvářet pomocí metod? Děkuji za radu.

Nahlásit jako SPAM
IP: 149.255.83.–
Panda380
Newbie
19. 10. 2018   #12
-
0
-

#11 Filip
V malém rozsahu, pár položek ceníku, se to ještě dá sice dělat metodami, ale je to neperspektivní. V tom případě budeš muset obsluhovat samostatně i dialogová okna, např. pro každou položku ceníku mít zvláštní tlačítko a psát mu obsluhu. Když někdy přidáš do ceníku další položku, tak musíš náročně upravovat program, přidávat tlačítka a psát jim obsluhy. Zatímco když uděláš položky ceníku jako datovou tabulku (to je jedno zda pole nebo SQL tabulka nebo jiný seznam - asi to bude stejný typ jako seznam hráčů), tak položky ceníku obsluhuješ smyčkou (nebo SQL příkazem) a snadno se Ti budou dělat v budoucnu změny ceníku, jen změníš data v tabulce a program si s tím poradí bez jakéhokoliv zásahu do programu.

Nahlásit jako SPAM
IP: 95.129.243.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 59 hostů

Podobná vlákna

Dotaz zacatecnika — založil Petr

OOP dotaz — založil Honza

"Mysql dotaz v dotaz" — založil Tomáš Sedlmajer

Hodinovka začátečníka — založil Pedro8

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý