0

从 OOP 的角度来看,为某些指标(参数、变量)及其值实现不可变类的最佳方法是什么。

下面是我目前使用的方法的伪代码

class Indicator
{
    private String key;   // Key
    private String desc;  // Description

    public Indicator(String _key, String _desc)
    {
        key = _key;
        desc = _desc;
    }

    public String getKey()  { return key; }
    public String getDesc() { return desc; }
}

class IndicatorValue extends Indicator
{
    private int val;

    public IndicatorValue(String _key, String  _desc, int _val)
    {
        super(_key, _desc);
        val = _val;        
    }

    public int getVal()  { return val; }
}
4

1 回答 1

2

如果您只需要一个纯数据对象,那么您实际上不需要封装,这在 Java 中需要相当多的样板代码。您还可以有简单的public final字段:

public class Indicator {
    public final String key, desc;

    public Indicator(String key, String desc) { 
        this.key = key; this.desc = desc; 
    }
}

在某些特定情况下,吸气剂变得必要,但我不建议您使用它们开始您的设计。他们应该证明是值得的。

于 2013-11-05T15:12:24.987 回答