IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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
qwertyW
Tvůrce
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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
14.9.2014 15:27
Avatar
Jan Vargovský
Tvůrce
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
Avatar
qwertyW
Tvůrce
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
Tvůrce
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.