覆盖与数据字段 - 这是更好的选择吗?

时间:2012-05-26 11:38:18

标签: java oop

例如,自定义组件需要知道要绘制的String作为标题。

重写

CustomComponent c = new CustomComponent(){
    @Override
    public String getTitle(){
        return "A given title";
    }
};

字段

CustomComponent c = new CustomComponent()
c.setTitle("A given title");


使用第一种方法,我不需要在CustomComponent中创建一个String字段,但代码更清晰。是否有强烈偏好/建议的方式,如果是这样,为什么?

请注意,这只是一个简单的例子。

谢谢

1 个答案:

答案 0 :(得分:1)

如果所有CustomComponents都有一个简单的字符串标题,那么数据字段就是最佳选择。

一旦事情变得有点复杂就转移到一个方法(例如标题需要子类特定信息[就像它“拥有多少个孩子”])。