1
1
对。你可以使用 Visitor pattern . 但是,它适用于稳定的定义良好的层次结构,因为您必须定义的访问者接口需要为每种类型使用一个方法。
|
2
7
运行的重载方法是在编译时选择的,因此选择的是元素版本而不是子元素版本。更合乎逻辑的是让元素或子类包含应该打印的数据。
然后在打印方法中:
这是否有意义将取决于
|
3
1
|
4
0
您是否能够将行为差异推送到元素类中?
这种方式,
或者更好:
|
5
0
我会选择不同的方法。要么
基类
派生类
打印元素的帮助程序接口
获取给定元素的最佳printHelper的工厂
客户端测试类,运行为Java应用程序
产量
|