Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Theodor Johnson
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na David Čápka
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Theodor Johnson
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na David Čápka
Theodor Johnson:

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

Nahoru Odpovědět 10.9.2012 20:14
Přecházím na "Cross-Platform Development"
Avatar
Odpovídá na Theodor Johnson
David Jančík [sczdavos]:

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
Čím více času dostaneš, tím méně ho máš.
Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:

Čá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
Přecházím na "Cross-Platform Development"
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na David Jančík [sczdavos]
David Čápka:

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

Nahoru Odpovědět 10.9.2012 21:16
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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.