你知道我怎样才能让一个对象只能在一个特殊的类中改变吗?在此示例中,我希望对象 PrivateObject 只能在Box
类内更改(可增加),其他任何地方都不能。有没有办法做到这一点?
public class Box {
private PrivateObject prv;
public void setPrivateObject(PrivateObject p){
prv = p;
}
public void changeValue(){
prv.increment();
}
}
public class PrivateObject {
private value;
public increment(){
value++;
}
}
PrivateObject priv = new PrivateObject ();
Box box = new Box();
box.setPPrivateObject(priv);
box.changevalue();
priv.increment(); // I don't want it to be changeable outside the Box class!
在 C++ 中,我会将所有PrivateObject
属性和方法设为私有,并将该类声明为Box
该类的朋友PrivateObject
。