java中什么指的是聚合

java中什么指的是聚合?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

在清流等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),清流網(wǎng)站建設(shè)費(fèi)用合理。

 java中聚合是一種特殊的關(guān)聯(lián)形式,它是兩個(gè)類之間的關(guān)系,是一種HAS-A關(guān)系,是一種單向關(guān)聯(lián)。如果類具有實(shí)體引用,則稱為聚合。

舉個(gè)例子:在一個(gè)有這么兩個(gè)類Studentclass和Addressclass,它們分別代表學(xué)生和地址。Studentclass類中包含有許多信息,比如:studentId、studentName等等,還包含一個(gè)Addressclass類。其中Addressclass類中有擁有自己的信息,如國家,省會(huì),城市等。如下所示:

class Address
{
  String country;
  String province;
  String city;
  .....
}
class StudentClass
{
   int studentId;
   String studentName;
   //創(chuàng)建與Addressclass類的HAS-A關(guān)系
   Address studentAddr; 
   StudentClass(int id, String name, Address addr){
       ......
   }
   
}

在這種情況下,Studentclass類具有實(shí)體引用Addressclass類;且

每個(gè)學(xué)生都有具體一個(gè)地址,所以學(xué)生和地址之間的關(guān)系是一個(gè)Has-A關(guān)系,即:Student Has-A Address

為什么要使用聚合?

因?yàn)榭梢跃S護(hù)代碼的可重用性。

打個(gè)比方,在上例的兩個(gè)類Student和Address的基礎(chǔ)上,還有用了另外兩個(gè)類College,Staff,它們代表學(xué)院和工作人員。

為了讓學(xué)生、學(xué)院地址和工作人員都具有地址,現(xiàn)在,我們不需要一次又一次地使用相同的代碼;我們只需要在定義每個(gè)類時(shí)引用Address類就行。

因此,我們可以通過使用聚合關(guān)系來提高代碼的可重用性。

聚合示例

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中什么指的是聚合

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)java中什么指的是聚合大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:java中什么指的是聚合
當(dāng)前鏈接:http://muchs.cn/article34/piogpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、小程序開發(fā)、企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、網(wǎng)站收錄、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)