public class Brother {
private final Parent parent;
public Brother(Parent parent) {
this.parent = parent;
}
public void annoySister() {
parent.getSister().annoy();
}
}
public class Sister {
private final Parent;
public Sister(Parent parent) {
this.parent = parent;
}
public void annoy() {
System.out.println("I am annoyed");
}
public void parentsName() {
parent.getName();
}
}
public class Parent {
private final Brother brother;
private final Sister sister;
private final String name;
public Parent() {
this.name = "Johnny";
this.brother = new Brother(this);
this.sister = new Sister(this);
}
// getters
}
< /code>
Таким образом, все объекты, созданные в классе родителей, доступны друг для друга. Например, в приведенном выше коде брат может получить доступ к сестринским методам и наоборот в дополнение к методам, предоставленным родительским классом (по существу, доступ к своему состоянию). < /P>
public class Main {
public static void main(String args) {
// somehow this seems to be like a container for all objects; ApplicationContext?
Parent parentInstance = new Parent();
parentInstance.getBrother().annoySister();
parentInstance.getSister().parentsName();
}
}
< /code>
q. [b] Как это
можно передавать в другие классы, когда родитель создается по мере выполнения его конструктора? [/b]
В Java я могу написать что -то вроде этого: < /p> [code]public class Brother { private final Parent parent;
public Brother(Parent parent) { this.parent = parent; }
public void annoySister() { parent.getSister().annoy(); }
}
public class Sister { private final Parent;
public Sister(Parent parent) { this.parent = parent; }
public void annoy() { System.out.println("I am annoyed"); }
public void parentsName() { parent.getName(); } }
public class Parent { private final Brother brother; private final Sister sister; private final String name;
public Parent() { this.name = "Johnny"; this.brother = new Brother(this); this.sister = new Sister(this); } // getters } < /code> Таким образом, все объекты, созданные в классе родителей, доступны друг для друга. Например, в приведенном выше коде брат может получить доступ к сестринским методам и наоборот в дополнение к методам, предоставленным родительским классом (по существу, доступ к своему состоянию). < /P> public class Main {
public static void main(String args) { // somehow this seems to be like a container for all objects; ApplicationContext? Parent parentInstance = new Parent();
parentInstance.getBrother().annoySister(); parentInstance.getSister().parentsName(); } } < /code> q. [b] Как это [/code] можно передавать в другие классы, когда родитель создается по мере выполнения его конструктора? [/b]