【发布时间】:2013-11-05 12:26:10
【问题描述】:
我想知道当两个类之间存在聚合或组合关系时,两个类可以共享彼此的属性吗?
如果有一个类叫做account,它和类customer有组合关系 那么班级账户可以访问班级客户的变量吗?
【问题讨论】:
我想知道当两个类之间存在聚合或组合关系时,两个类可以共享彼此的属性吗?
如果有一个类叫做account,它和类customer有组合关系 那么班级账户可以访问班级客户的变量吗?
【问题讨论】:
是的。类可以访问相关类的非私有字段,可以是聚合或组合。
在下面的示例中,类 A 和 B 持有组合关系,A 可以访问 B 的字段和方法。但这取决于变量和方法的可见性。
class A {
String test;
B b;
void printB(){
b.getTest();}
}
class B {
private String test;
public String getTest(){
return test;
}
}
【讨论】:
两个类是否有关系并不重要。如果属性的可见性设置为公共(如果元素位于同一包中,则为包),则任何元素都可以访问属性。例如,您可以在活动操作中访问类的公共属性,其中引脚类型是具有公共属性的类等。
【讨论】: