Chybicka se vloudila, ma tam byt: boolean accept(HVisitor<E> visitor);
Pak uz to cele funguje. Je pravda, ze provazana parametrizace na urovni vsechn trid je mozna overkill, spatne se to udrzuje pohromade. Casto je jednodussi pouzivat spise parametrizovane metody a hodne ? extends, kde to jde. Kamil Podlesak > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Behalf Of Lukás Zapletal > Sent: Tuesday, November 11, 2008 9:27 AM > To: Java > Subject: Re: Parametrizace Visitor-Visitable > > > Muzete to rozvest a uvest plny kod pro obe tridy? Protoze ja se > nechytam a porad to ne a ne napsat, aniz by kompilatoru neco vadilo. > Kdyz modifikuji Visitable, tak je problem u Visitora a naopak. Navic > se mi pak nedari vytvorit zadneho potomka. Napriklad: > > public interface HVisitable<E extends HVisitable<E>> { > > boolean accept(E visitor); > > } > > jak by mel byt potomek? > > public abstract class HDefaultNodeVisitable implements > HVisitable<HDefaultNodeVisitable> { > > @Override > public boolean accept(HDefaultNodeVisitable visitor) { > . .... > }} > > To fungovat nebude, protoze metoda accept musi mit jako parametr > Visitora a ne Visitable rozhrani. > > Diky LZ > > > -- > Lukas Zapletal > http://lukas.zapletalovi.com >
