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í.

Diskusia – Mocninátor

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:30.4.2012 15:55

Tohle už vypadá lépe :) Sice zatím neznáš modifikátory přístupu, ale i tak je to obrovský posun, opravdu jsi dobrý :)

Opravil bych následující:

Název souboru by se měl shodovat s názvem třídy, které je v něm definována (narážím na Recalculation.cs a v něm prepocet).

C# používá tzv. CamelCase notaci, kdy je u názvů tříd a metod první písmeno a každé další velké (např. MojeTrida, MojeMetoda), u proměnných je první malé a dále je to podobně (např. mojePromenna).

Třída Controlor je zbytečná, C# má něco jako float.TryParse, používá se to takhle:

float promenna = 0; // výchozí hodnota
if (float.TryParse(text, promenna))
// práce s proměnnou promenna, která obsahuje ten float z text
else
// nastala chyba

Jo a přečti si toto: http://www.itnetwork.cz/index.php?…

Odpovedať
30.4.2012 15:55
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovedá na David Hartinger
matesax:30.4.2012 16:09

Děkuji. :)

 
Odpovedať
30.4.2012 16:09
Avatar
matesax
Tvůrce
Avatar
matesax:30.4.2012 16:21

Když já TryParse znám, ale nedařilo - a když se o to teď snažím, tak se mi nedaří do toho dostat text z richTextBoxu1.

 
Odpovedať
30.4.2012 16:21
Avatar
matesax
Tvůrce
Avatar
Odpovedá na David Hartinger
matesax:30.4.2012 16:46

Jinak OOP mám přečtené odshora 6x a odsdola 7x. :)

 
Odpovedať
30.4.2012 16:46
Avatar
matesax
Tvůrce
Avatar
matesax:30.4.2012 16:52

OK - na vše jsem si přišel. :)

 
Odpovedať
30.4.2012 16:52
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na matesax
David Hartinger:30.4.2012 17:17

Fajn :) Teď u metod a proměnných - můžeš před ně psát modifikátory přístupu, které jsou:
private
public
protected

Ty potom dávají OOP větší smysl. Pomocné proměnné pro vnitřní logiku třídy mají být
Private, to znamená, že proměnnou můžeš používat uvnitř třídy, ale zvenku není vidět. Public je potom vystavena ven. Bývá dobrým zvykem udělat nejprve vše private a až potom se rozhodnout, co chci, aby třída navenek vystavovala. Čím více se toho zakáže, tím lépe, protože pak je v kódu pořádek a nestane se, že si něco změním, ale to je ostatně vysvětlené v tom článku :) Protected je private navenek, ale public v dědičnosti mezi třídami, zatím ji asi nebudeš potřebovat. Ty je máš bez modifikátoru, asi to bere C# jako private, ale je zvykem to tam explicitně psát. C# má pak ještě tzv. vlastnosti, kdyby ses s tím setkal, je to něco mezi proměnnou a metodou neboli tím můžeš zajistit např. aby šlo proměnnou číst, ale nešla zapisovat, ale k tomu se dostaneš asi také později. Zkus si dědičnost, dobře se to zkouší např. na nějakých objektech v poli, kdy si uděláš jednu třídu (např. zvíře) a to bude umět chodit a dýchat a bude mít proměnnou věk třeba. Z toho zdědí Pes, ten bude umět vše zmíněné + bude umět navíc štěkat. Když pak uděláš to pole typu Zvire, půjde do něj dát i Pes, protože je z toho odděděn. Dá se potom psát if (zvire[1] is Pes) a podobně. Zkus si i polymorfismus nebo interface, tak můžeš obejít vícenásobnou dědičnost a vytvořit třeba ptakoještěra.

Odpovedať
30.4.2012 17:17
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovedá na David Hartinger
matesax:30.4.2012 17:46

JJ modifikátory znám - ale nenapadá mě, kde by se to v tom programu dalo ještě použít... Dědičnost vypadá podstatně složitěji, tak se na to vrhnu. Děkuji. :)

 
Odpovedať
30.4.2012 17:46
Avatar
HAPPY DAY
Člen
Avatar
Odpovedá na David Hartinger
HAPPY DAY:24.6.2012 8:37

ještě upozornění. pokud nemá proměnná/něco podobného modifikátor přístupu, je jí přiřazen modifikátor private

Odpovedať
24.6.2012 8:37
Kdo pozdě chodí, sám sobě škodí (AUTOR: já)
Avatar
David Jančík
Vlastník
Avatar
Odpovedá na HAPPY DAY
David Jančík:24.6.2012 8:43

Né tak docela...

Uvedu tabulku kde je popsáno co který modifikátor dělá:

http://www.itnetwork.cz/…ifikator.png

Ovšem v různých jazycích se to může lišit. Tohle je Java.

Odpovedať
24.6.2012 8:43
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Kit
Tvůrce
Avatar
Odpovedá na HAPPY DAY
Kit:24.6.2012 8:48

Automatický modifikátor "private" je podle mne lepší, než v PHP. Tam je automatický modifikátor "public" a spousta programátorů na to hřeší. Private by měly být prakticky všechny proměnné plus vnitřní metody.

V Pythonu jsem žádné modifikátory nenašel, vše je public. Nic není dokonalé.

Odpovedať
24.6.2012 8:48
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!