previous |
start |
next
Visitors
- Problem: Operation may be different for different element
types
- Can't rely on polymorphism
- Polymorphism assumes fixed set of methods, defined in
superclass
- Trick: Can use variable set of methods if set of classes is fixed
- Supply separate visitor methods:
public interface
Visitor
{
void
visitElementType1(ElementType1 element);
void
visitElementType2(ElementType2 element);
...
void
visitElementTypen(ElementTypen element);
}
previous |
start |
next