Sai ragazzi come posso rendere un oggetto modificabile solo all'interno di una classe speciale? In questo esempio voglio che l'oggetto PrivateObject sia solo modificabile (incrementabile) all'interno della classe Box, da nessun'altra parte. C'è un modo per ottenere questo?java -like amico meccanismo di classe
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!
In C++, vorrei fare tutte le proprietà ei metodi PrivateObject privata, e il dichiarare la classe Box come un amico per la classe PrivateObject.
domanda correlata http://stackoverflow.com/questions/182278/is-there-a-way-to-simulate-the-c-friend-concept-in-java –