打字猴:1.700472215e+09
1700472215
1700472216 public class ConcreteElement1 extends Element{
1700472217
1700472218 //完善业务逻辑
1700472219
1700472220 public void doSomething(){
1700472221
1700472222 //业务处理
1700472223
1700472224 }
1700472225
1700472226 //允许那个访问者访问
1700472227
1700472228 public void accept(IVisitor visitor){
1700472229
1700472230 visitor.visit(this);
1700472231
1700472232 }
1700472233
1700472234 }
1700472235
1700472236 public class ConcreteElement2 extends Element{
1700472237
1700472238 //完善业务逻辑
1700472239
1700472240 public void doSomething(){
1700472241
1700472242 //业务处理
1700472243
1700472244 }
1700472245
1700472246 //允许那个访问者访问
1700472247
1700472248 public void accept(IVisitor visitor){
1700472249
1700472250 visitor.visit(this);
1700472251
1700472252 }
1700472253
1700472254 }
1700472255
1700472256 它定义了两个具体元素,我们再来看抽象访问者,一般是有几个具体元素就有几个访问方法,如代码清单25-13所示。
1700472257
1700472258 代码清单25-13 抽象访问者
1700472259
1700472260 public interface IVisitor{
1700472261
1700472262 //可以访问哪些对象
1700472263
1700472264 public void visit(ConcreteElement1 el1);
[ 上一页 ]  [ :1.700472215e+09 ]  [ 下一页 ]