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
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:10.9.2012 19:57

chtěl jsem se jen na jednu věc zeptat, zda je potřeba si dávat pozor na rozdíl mezi object a Object, popřípadě k čemu to vůbec slouží? Předem díky za odpověd.

Odpovědět
10.9.2012 19:57
Mo8ilε 15 Ѐλđ
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Hartinger:10.9.2012 20:01

Ani jeden z nich většinou potřebovat nebudeš. object neznám, Object je předek všech objektů.

Nahoru Odpovědět
10.9.2012 20:01
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na David Hartinger
Theodor Johnson:10.9.2012 20:02

dost často object vídám při eventu stisku něčeho( button, pictBox,...) ve formech, tak jsem chtěl jen vědět jestli to má nějáký konkrétnější význam.

Nahoru Odpovědět
10.9.2012 20:02
Mo8ilε 15 Ѐλđ
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Hartinger:10.9.2012 20:11

No to je ale jméno proměnné, ta se může jmenovat třeba bagr.

Nahoru Odpovědět
10.9.2012 20:11
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na David Hartinger
Theodor Johnson:10.9.2012 20:14

Díky, řekl bych že jsem to už pochopil.

Nahoru Odpovědět
10.9.2012 20:14
Mo8ilε 15 Ѐλđ
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Jančík:10.9.2012 20:31

To je stejné jako string a String. string tedy s malým s je datový typ pro řetězec a alias pro System.String. System.String je vlastně třída implementující String (nevím jak to lépe popsat).

Můžeš zkusit napsat String když nebudeš mít using System; uvidíš, že to nepůjde. Ale string ti půjde, protože je to jeho alias. Tedy je to to samé. Ovšem například v Javě tohle třeba tak úplně neplatí.

Object reprezentuje obecný dat. typ. Můžeš si tam dát cokoliv.

object a = 1;

A pak si zjistit typ a.GetType(), porovnávat přetypovávat aj. Hodí si například, když máš objekt, který reprezentuje například kontakt, ale nahráváš tam kontakty všeho možného druhu. Pak, když s nimi pracuješ tak se ptáš, co jsou zač, přetypuješ si na správný dat typ a pracuješ s tím.

public string getContactId(object a)
{
if (a is FbContact)
    return (a as FbContact).Jid;
else if (a is SkypeContact)
    return (a as SkypeContact).SkypeName;

return "Undefined";
}

Nevím jak lépe to popsat. Na to přijdeš v praxi hlavně.

Co se týče toho objektu v událostech. Třeba object sender tak v tom je instance objektu, který tu událost vyvolal. Například pokud máš event na textbox tak si můžeš přetypovat ten objekt na TextBox a pracovat s ním.

private void textBox1_TextChanged(object sender, EventArgs e)
{
    TextBox tb = sender as TextBox;
    tb....
}

Můžeš tak také poznat, zda byl event vyvolán změnou textu nebo manuálně. Například dáš textBox1_TextChan­ged(null, null); a můžeš si dát podmínku if (sender == null)

Editováno 10.9.2012 20:43
Nahoru Odpovědět
10.9.2012 20:31
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:10.9.2012 20:56

Část z toho jsem pochopil už z toho když jsem se teprve učil co je to to přetypování. Ale opravdu celý to pochopim až po tom co si to vyskoušim.

Nahoru Odpovědět
10.9.2012 20:56
Mo8ilε 15 Ѐλđ
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na David Jančík
David Hartinger:10.9.2012 21:16

Nojo, máš pravdu, je to fakt alias, jsem nevěděl :)

Nahoru Odpovědět
10.9.2012 21:16
New kid back on the block with a R.I.P
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 8 zpráv z 8.