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
> 

Odpovedet emailem