我正在考虑一种最佳设计模式,我可以将它用于将对象传递给不同类中的方法,而不是将它们作为参数传递。
class A{
}
class B{
public A a;
public B()
{
a = new A();
}
}
class C
{
public void c()
{
//need to access "a" of class B other than passing "a" as argument;
}
}
这里,需要在许多其他类方法中访问A类属性中的a
。除了传递此对象(a
)作为参数之外,是否存在最佳设计模式或任何可能的方式?
答案 0 :(得分:0)
很难说你的程序是如何构建的,但我想到了两个选项:
B
的实例传递给C
的构造函数。class A {};
class B {
public A a;
public B() {
a = new A();
}
};
class C {
public B b;
public C( B b ) {
this.b = b;
}
public void someMethod() {
System.out.println( b.a );
}
};
A
的实例(即Singleton)。这意味着类 B
包含类A
的实例,并非类B
的每个实例都包含类A
的实例{1}}。class A {};
class B {
public static final A a = new A();
};
class C {
public void someMethod() {
System.out.println( B.a );
}
};