Diskuze: Jedna kolekcia na viac inštancie rôznych tried
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
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.
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();
}
}
Nie je náhodou Object spoločný predok všetkých inštancií?
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čí.
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.
Zobrazeno 6 zpráv z 6.