NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Libor Šimo (libcosenior):23.10.2013 12:08

Chcel by som mať v jednej kolekcii rôzne inštacie tried, poprípade rôzne dátové typy.
Najviac by mi to vyhovovalo v Slovníku (Dictionary) aby som mohol využiť hashovanie.
Je takéto niečo možné?
Ak áno, poradí niekto?

Odpovědět
23.10.2013 12:08
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Libor Šimo (libcosenior)
David Hartinger:23.10.2013 12:13

Pokud spolu ty objekty souvisí, měly by mít společného předka. Pokud ne, neměly by být v jedné kolekci.

Editováno 23.10.2013 12:13
Nahoru Odpovědět
23.10.2013 12:13
New kid back on the block with a R.I.P
Avatar
Libor Šimo (libcosenior):23.10.2013 12:16

Nie je náhodou toto riešenie:
citujem:
Když uvedeme za where ještě new(), můžeme uvnitř typ T instanciovat. Taková malá továrna na instance libovolného typu by mohla vypadat takto:

public class Tovarna<T> where T : new()
{
    public T VytvorInstanci()
    {
        return new T();
    }
}
Nahoru Odpovědět
23.10.2013 12:16
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na David Hartinger
Libor Šimo (libcosenior):23.10.2013 12:17

Nie je náhodou Object spoločný predok všetkých inštancií?

Nahoru Odpovědět
23.10.2013 12:17
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Libor Šimo (libcosenior)
Kit:23.10.2013 12:44

Třídy nemusí mít společného předka, ale musí implementovat stejné rozhraní. V Javě to může být klidně i Object, pokud ti metody jeho rozhraní stačí.

Nahoru Odpovědět
23.10.2013 12:44
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Libor Šimo (libcosenior)
Jan Vargovský:23.10.2013 13:23

Není, to T ti reprezentuje daný objekt, který je ale nezávislý a tou podmínkou jsi jen doplnil, že musí obsahovat konstruktor a nesmí to být nějaký primitivní typ. Jinak jak už tu radili, můžeš udělat továrnu toho stejného předka a pak snima pracovat tak jak budeš potřebovat.

 
Nahoru Odpovědět
23.10.2013 13:23
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 6 zpráv z 6.