क्या आप जानते हैं कि मैं केवल विशेष कक्षा के अंदर एक वस्तु को बदलने योग्य कैसे बना सकता हूं? इस उदाहरण में मैं ऑब्जेक्ट निजी ऑब्जेक्ट को बॉक्स क्लास के अंदर केवल परिवर्तनीय (वृद्धिशील) होना चाहता हूं, कहीं और नहीं। क्या यह हासिल करने का कोई तरीका है?जावा-जैसे मित्र वर्ग तंत्र
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 dont want it to be changable outside the Box class!
सी ++ में, मैं सभी PrivateObject गुण और विधियों निजी बनाना होगा, और PrivateObject वर्ग के लिए एक मित्र के रूप में बॉक्स वर्ग घोषणा करते हैं।
संबंधित प्रश्न http://stackoverflow.com/questions/182278/is-there-a-way-to-simulate-the-c-friend-concept-in-java –