Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Libor Šimo (libcosenior)
David Čápka: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
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
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 Čápka
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
Redaktor
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ý
Redaktor
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.