- Dobře tedy pro kompilátor je to jiná třída ale výsledek pro jvm je to ta samá. na tom se snad shodneme at tu neslovičkaříme :-) - jinak jsem psal ze generiky pro překladač nejsou koo. ani koontra. tak jak jste vypsal odstravec z wiki viz "Unlike arrays, generic classes are neither covariant nor contravariant". Nicméně myslím si že je důležitější vědět jak se generiky mají v plném kontextu, takže i vlastnosti jvm, proto ten komentář. Aby se začátečník nespletl např. při kontrole instanceof apod. kde ten rozdíl mezi runtime a kompilaci je potřeba znát. Pokud programátor potřebuje pracovat s reflexí tak už tato znalost je nutná.
-ano do .net museli přidat koo. a kontra. v gener. protože to nešlo obejít tak jako v jave (když pomineme warning za předpokladu že programátor musí znát i výsledek kompilace). V .NETu je IList<string> a IList<object> jinej typ jak pro kompilátor tak i pro virtuální mašinu. List<Predek> map = (List)listPotomek; //překladačem projde i za runtime a nejspíš bude typová kontrola pro další část kódu užitečná. //v .net by to za runtime spadlo Petr Dne 20. září 2011 15:15 "Zdeněk Troníček" <[email protected]> napsal(a): > Ladislav Thon napsal(a): > >> - V Javě je Iterable<String> potomkem Iterable<Object> protože je to > > v reálu ten samej objekt - pouze překladač nás může chránit tak jako máte > > ve > > 2 příkladě.. (to samé pro List) > > > > IMHO nejlepší je dívat se na parametrizované třídy jako na funkce, které > > vytváří "normální" třídy, a vykašlat se na implementační detaily (i když > > ty > > detaily v Javě jsou někdy bohužel pekelně důležité). > > > > A i když sestoupíte na tu implementační úroveň, stejně není podstatné, > > jestli je Iterable<String> potomkem Iterable<Object> (což technicky je, > > pokud definujeme relaci dědičnosti jako reflexivní), ale to, jestli > > Iterable<String> je nebo není _podtypem_ Iterable<Object>. A to rozhodně > > není. > > Jenže tahle diskuze je o překladu a warningu překladače. Jinak Tvoje > terminologie mě překvapuje, protože pro mě jsou potomek a podtyp synonyma. > > Z.T. > -- > Zdenek Tronicek > FIT CTU in Prague > >
