Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // can this code be "simplified "
- interface PastryVisitor {
- void visitBeignet(Beignet beignet);
- void visitCruller(Cruller cruller);
- }
- abstract class Pastry {
- abstract void accept(PastryVisitor visitor);
- }
- class Beignet extends Pastry {
- @Override
- void accept(PastryVisitor visitor) {
- visitor.visitBeignet(this);
- }
- }
- class Cruller extends Pastry {
- @Override
- void accept(PastryVisitor visitor) {
- visitor.visitCruller(this);
- }
- }
- // into this?
- interface PastryVisitor {
- void visit(Beignet beignet);
- void visit(Cruller cruller);
- }
- class Pastry {
- void accept(PastryVisitor visitor){
- visitor.visit(this); // will "this" automatically deduce the type?
- }
- }
- class Beignet extends Pastry {
- }
- class Cruller extends Pastry {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement