我想允许B类的对象将其ID发送给A的对象。所以A的ID可以设置为B的ID。我的问题是,在“面向对象设计”中改变B类中A的ID内容是否是一个“好主意”,正如我在下面写的那样?
class A
{
private:
string ID;
public:
A()
{
ID = "empty";
}
void set_ID(string id)
{
ID = id;
}
};
class B
{
private:
string B_ID;
public:
B(string id)
{
B_ID = id;
}
void put_request(A& a)
{
a.set_ID(B_ID);
}
};
int main()
{
A a;
B b("my ID");
b.put_request(a);
}
答案 0 :(得分:3)
这正是封装的工作原理。它是面向对象设计范式的支柱之一。它指的是将数据保存在私有字段中,并允许通过其他一些(可能是setter和getter)方法进行修改和检索。