Oop 如何在对另一个函数可见时将对象的某些成员隐藏到函数中?

Oop 如何在对另一个函数可见时将对象的某些成员隐藏到函数中?,oop,Oop,我通常使用C语言编程。在OO编程中有些东西对我来说很不方便。我希望对象中成员的可见性取决于函数的需求。说 class Aclass{ int i; float x; } A; 功能 float f(Aclass &A) { cout<<"A.x="<< x <<endl; } float f(Aclass&A){ 库特 在更现实的情况下,一个对象有很多成员 听起来该对象需要分解为多个对象 如何使成员的不同部分对不同的功能可见 通过将功能重构

我通常使用C语言编程。在OO编程中有些东西对我来说很不方便。我希望对象中成员的可见性取决于函数的需求。说

class Aclass{
 int i;
 float x;
} A;
功能

float f(Aclass &A) {
  cout<<"A.x="<< x <<endl;
}
float f(Aclass&A){
库特
在更现实的情况下,一个对象有很多成员

听起来该对象需要分解为多个对象

如何使成员的不同部分对不同的功能可见

通过将功能重构为单独的对象。如果一个对象做了太多的事情,以至于你发现很难将该对象的一个责任与另一个分开,那么该对象做了太多的事情

一般来说,喜欢许多小而简单的对象而不是几个大而复杂的对象。保持关注点分离和依赖项分离。您所描述的是一个没有正确分离关注点的典型示例。If function
a()
不应该知道成员
i
那么他们是不属于同一对象的两个独立关注点

查看有关隔离依赖关系和分离关注点的一些一般准则。

我想你是指C++。
float I(Aclass &A) {
  cout<<"A.i="<< A.i <<endl;
}