我可以指定是否设置了setter?

The*_* do 3 oop setter

这是一个简单的Address类的初始规范.这是一种简化,因为它忽略了诸如同一建筑物内的公寓可能具有相同"数量"的复杂性,
例如29a,29b.

 class Address
    {
    private:
    int number;
    string name;
    string postcode;
    public:
    //getters implemented but ommited 
    };
Run Code Online (Sandbox Code Playgroud)

如果Address被假定为一个实用程序类(可能将来可能被其他开发人员用于其他项目):

//问题
1.对于上面规范中给出的Address的每个属性,说明为Address类配备相应实例变量的setter方法是否合适.在每种情况下给出简短的理由.

伙计这是我的任务中的问题所以请不要质疑类地址的设计方式.

Pup*_*ppy 8

取决于地址来源.例如,如果您从数据库中读取它,那么我就不会实现setter,因为您不希望人们在没有正确权限的情况下更改数据库值.但是,如果您从用户处读取此数据,则必须考虑用户进行拼写错误和调整或意识到他们已输入旧地址或其中任何一项的事实,并且您必须提供更改.


Pau*_*ams 5

对我而言应该是一个不可变的类,所有字段都在构造时设置,并为每个字段设置getter.