Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 2. diel - Prvá objektová aplikácia v C# - Hello object world

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
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na
David Hartinger:16.6.2012 19:59

Dík, stane se :D

Odpovedať
New kid back on the block with a R.I.P
Avatar
bohmladislav
Člen
Avatar
bohmladislav:22.12.2012 12:18

Vím, že je tohle teprve začátek OOP, ale třída Zdravic určitě není psaná podle dobrých praktik, už kvůli tomu veřejně přístupnému atributu. Navíc si myslím, že by v metodě Pozdrav mělo být minimálně ošetření na null u toho textu. Jinak velmi dobrý tutorial pro začátečníky.

Avatar
lcet.m
Člen
Avatar
Odpovedá na David Hartinger
lcet.m:14.1.2013 11:41

S implicitní konverzí to nemá nic společného, uvnitř string.Format se volá prostě metoda ToString(), kterou má každý objekt.

Avatar
lcet.m
Člen
Avatar
lcet.m:14.1.2013 11:42
  • konstruktor se rozhodně nevolá kvůli prázdným závorkám jak píšeš, ale spíš díky keyword "new".
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na lcet.m
David Hartinger:14.1.2013 11:45

Pokud vím, tak převodu na string se říká implicitní konverze. C# sám pozná, že někde chceme string a na objektu metodu ToString() sám na pozadí zavolá. My ji tam tedy nemusíme psát. Zafunguje např. v tomto případě:

int a = 1;
string s = a + " krát";

Naopak zde by to bez .ToString nefungovalo:

int a = 1;
string s = a.ToString();
Odpovedať
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na lcet.m
David Hartinger:14.1.2013 11:48

Pokud je to na mě, tak mám pocit, že jsem tam psal něco jako že závorky jsou tam z toho důvodu, že voláme konstruktor. Případně upřesni kde to v textu je.

Odpovedať
New kid back on the block with a R.I.P
Avatar
lcet.m
Člen
Avatar
lcet.m:14.1.2013 11:57

No, je to trochu věc úhlu pohledu. Řekl bych to asi tak, že implicitní konverze volá ToString(), ale ne každé volání ToString je implicitní konverze.

Jde o to, že string.Format má signaturu "static string Format(string format, params object[] args)" tj. nic se nepřetypovává, object je všechno.

Píšeš "Ty prázdné závorky volají tzv. konstruktor." to jde myslím si snadno pochopit tak, že prázdné závorky znamenají volání konstruktoru.

Neber to jako rýpání, jen pro upřesnění.

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na lcet.m
David Hartinger:14.1.2013 12:11

Jo, to je pravda. Bylo to myšleno tak, že konstruktor je metoda a proto tam jsou ty závorky, jelikož konstruktor voláme. Upřesním to.

Vím, že každé volání ToString() není implicitní konverze (snad to tu někde není napsané), jen říkám, že se jedná o implicitní konverzi ve chvíli, kdy to C# udělá za nás :)

Odpovedať
New kid back on the block with a R.I.P
Avatar
lcet.m
Člen
Avatar
lcet.m:14.1.2013 12:14

Nojo, ale v tom je právě ta nepřesnost - jelikož do string.Format předáváš instance typu System.Object, konverzi nedělá C#, nýbrž metoda .NETu (uvnitř to konec konců implicitní konverze využívat může, ale příklad to IMHO není dobrý)

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na lcet.m
David Hartinger:14.1.2013 12:22

Pojmy C# a .NET zaměňuji, chápu, že na tvé úrovni je to rozdíl, ale ostatní mi to jistě prominou :) Podstatné je, že proběhne implicitní konverze na string, tedy převod objektu na stringovou hodnotu. Takto to nazývá i kompiler, když hubuje, že v nějakém případě ji provést nelze.

Odpovedať
New kid back on the block with a R.I.P
Posledné komentáre sú na spodnej časti poslednej stránky.
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.

Zobrazené 10 správy z 218.