Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
Avatar
qwertyW
Redaktor
Avatar
qwertyW:14.9.2014 13:23

Zdar a prosím o radu,
vytvořil jsem si pole objektů;

public Object[] pole;
pole[0] = new letadlo();

a potřebuji přistupovat k objektům v poli, otázka zní jak? Potřebuji něco jako

pole[0].zrychli()
Editováno 14.9.2014 13:23
Odpovědět
14.9.2014 13:23
Programuji, tedy jsem.
Avatar
Lako
Člen
Avatar
Odpovídá na qwertyW
Lako:14.9.2014 15:27

Musíš to přetypovat na letadlo.
tedy něco jako

public Object[] pole;
pole[0] = new letadlo();
var éro = (letadlo)pole[0];
éro.zrychli();

nebo:

var éro = pole[0] as letadlo

Rozdíl v těchto dvou přístupech je v tom, co se stane když se přetypování nepovede. Jeden způsoby ti vyhodí vyjímku a druhý ti vrátí null (který je který teď nevím). Správně bys měl ošetřit i tento stav..

Název třídy by měl být velkým písmenem, tedy Letadlo.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
14.9.2014 15:27
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na qwertyW
Jan Vargovský:14.9.2014 15:30

Proč nemáš rovnou

Letadlo[] letadla = new Letadlo[N];
letadla[0].Zrychli();

?

 
Nahoru Odpovědět
14.9.2014 15:30
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na Lako
qwertyW:14.9.2014 16:25

Dik

Nahoru Odpovědět
14.9.2014 16:25
Programuji, tedy jsem.
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na Jan Vargovský
qwertyW:14.9.2014 20:36

Rychle jsem napsal příklad. ;)

Nahoru Odpovědět
14.9.2014 20:36
Programuji, tedy jsem.
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 5 zpráv z 5.