java中什么指的是聚合

java中什么指的是聚合?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

在清流等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站建设 网站设计制作定制网站设计,公司网站建设,企业网站建设,高端网站设计,营销型网站建设,外贸网站建设,清流网站建设费用合理。

 java中聚合是一种特殊的关联形式,它是两个类之间的关系,是一种HAS-A关系,是一种单向关联。如果类具有实体引用,则称为聚合。

举个例子:在一个有这么两个类Studentclass和Addressclass,它们分别代表学生和地址。Studentclass类中包含有许多信息,比如:studentId、studentName等等,还包含一个Addressclass类。其中Addressclass类中有拥有自己的信息,如国家,省会,城市等。如下所示:

class Address
{
  String country;
  String province;
  String city;
  .....
}
class StudentClass
{
   int studentId;
   String studentName;
   //创建与Addressclass类的HAS-A关系
   Address studentAddr; 
   StudentClass(int id, String name, Address addr){
       ......
   }
   
}

在这种情况下,Studentclass类具有实体引用Addressclass类;且

每个学生都有具体一个地址,所以学生和地址之间的关系是一个Has-A关系,即:Student Has-A Address

为什么要使用聚合?

因为可以维护代码的可重用性

打个比方,在上例的两个类Student和Address的基础上,还有用了另外两个类College,Staff,它们代表学院和工作人员。

为了让学生、学院地址和工作人员都具有地址,现在,我们不需要一次又一次地使用相同的代码;我们只需要在定义每个类时引用Address类就行。

因此,我们可以通过使用聚合关系来提高代码的可重用性。

聚合示例

class Address {
String country,province,city;

public Address(String country, String province, String city) {
   this.country = country;
    this.province = province;
    this.city = city;
	
}

}

public class StudentClass{
int id;
String name;
Address address;

public StudentClass(int id, String name,Address address) {
	this.id = id;
	this.name = name;
	this.address=address;
}

void display(){
System.out.println("="+id+",name="+name);
System.out.println("地址是:  "+address.country+","+address.province+","+address.city+"\n");
}

public static void main(String[] args) {
Address address1=new Address("China","Hubei","Wuhan");
Address address2=new Address("China","Hunan","Changsha");

StudentClass Student1=new StudentClass(150,"小明",address1);
StudentClassStudent2=new StudentClass(151,"小华",address2);
	
Student1.display();
Student2.display();
	
}
}

效果图:

java中什么指的是聚合

感谢各位的阅读!看完上述内容,你们对java中什么指的是聚合大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。


当前名称:java中什么指的是聚合
文章起源:http://csdahua.cn/article/piogpe.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流