亚洲群p-亚洲人成黄网在线观看-亚洲人成亚洲人成在线观看-亚洲人成在线播放网站岛国-免费 视频-免费 成年人

化工輕工
當(dāng)前位置:網(wǎng)站首頁 > 聚合物 > 正文

聚合和組合的區(qū)別?

作者:訪客發(fā)布時間:2021-07-17分類:聚合物瀏覽:115


導(dǎo)讀:聚合(Aggregation)?關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強的關(guān)聯(lián)關(guān)系。聚合是整體和個體之間的關(guān)系。例如,汽車類與引擎類、輪胎類,以及其它的零件類之間的關(guān)系便整體和個體的關(guān)系。與關(guān)聯(lián)...

聚合(Aggregation)?關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強的關(guān)聯(lián)關(guān)系。聚合是整體和個體之間的關(guān)系。例如,汽車類與引擎類、輪胎類,以及其它的零件類之間的關(guān)系便整體和個體的關(guān)系。與關(guān)聯(lián)關(guān)系一樣,聚合關(guān)系也是通過實例變量實現(xiàn)的。但是關(guān)聯(lián)關(guān)系所涉及的兩個類是處在同一層次上的,而在聚合關(guān)系中,兩個類是處在不平等層次上的,一個代表整體,另一個代表部分

組合(Composition)?關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系強的關(guān)系。它要求普通的聚合關(guān)系中代表整體的對象負責(zé)代表部分對象的生命周期,組合關(guān)系是不能共享的。代表整體的對象需要負責(zé)保持部分對象和存活,在一些情況下將負責(zé)代表部分的對象湮滅掉。代表整體的對象可以將代表部分的對象傳遞給另一個對象,由后者負責(zé)此對象的生命周期。換言之,代表部分的對象在每一個時刻只能與一個對象發(fā)生組合關(guān)系,由后者排他地負責(zé)生命周期。部分和整體的生命周期一樣。

以上關(guān)系的耦合度依次增強(關(guān)于耦合度的概念將在以后具體討論,這里可以暫時理解為當(dāng)一個類發(fā)生變更時,對其他類造成的影響程度,影響越小則耦合度越弱,影響越大耦合度越強)。由定義我們已經(jīng)知道,依賴關(guān)系實際上是一種比較弱的關(guān)聯(lián),聚合是一種比較強的關(guān)聯(lián),而組合則是一種更強的關(guān)聯(lián),所以籠統(tǒng)的來區(qū)分的話,實際上這四種關(guān)系、都是關(guān)聯(lián)關(guān)系。?聚合關(guān)系是是一種比較強的關(guān)聯(lián)關(guān)系,java中一般使用成員變量形式實現(xiàn)。對象之間存在著整體與部分的關(guān)系。例如上例中?

class?Driver?{???????//使用成員變量形式實現(xiàn)聚合關(guān)系???????Car?mycar;???????public?void?drive(){???????????mycar.run();???????}???}假如給上面代碼賦予如下語義:車是一輛私家車,是司機財產(chǎn)的一部分。則相同的代碼即表示聚合關(guān)系了。聚合關(guān)系一般使用setter方法給成員變量賦值。?假如賦予如下語義:車是司機的必須有的財產(chǎn),要想成為一個司機必須要先有輛車,車要是沒了,司機也不想活了。而且司機要是不干司機了,這個車就砸了,別人誰也別想用。那就表示組合關(guān)系了。一般來說,為了表示組合關(guān)系,常常會使用構(gòu)造方法來達到初始化的目的,例如上例中,加上一個以Car為參數(shù)的構(gòu)造方法?

public?Driver(Car?car){???????mycar?=?car;???}所以,關(guān)聯(lián)、聚合、組合只能配合語義,結(jié)合上下文才能夠判斷出來,而只給出一段代碼讓我們判斷是關(guān)聯(lián),聚合,還是組合關(guān)系,則是無法判斷的。

組合和聚合是有很大區(qū)別的,這個區(qū)別不是在形式上,而是在本質(zhì)上:比如A類中包含B類的一個引用b,當(dāng)A類的一個對象消亡時,b這個引用所指向的對象也同時消亡(沒有任何一個引用指向它,成了垃圾對象),這種情況叫做組合,反之b所指向的對象還會有另外的引用指向它,這種情況叫聚合。在實際寫代碼時組合方式一般會這樣寫: A類的構(gòu)造方法里創(chuàng)建B類的對象,也就是說,當(dāng)A類的一個對象產(chǎn)生時,B類的對象隨之產(chǎn)生,當(dāng)A類的這個對象消亡時,它所包含的B類的對象也隨之消亡。聚合方式則是這樣: A類的對象在創(chuàng)建時不會立即創(chuàng)建B類的對象,而是等待一個外界的對象傳給它傳給它的這個對象不是A類創(chuàng)建的。現(xiàn)實生活中:人和人和手,腳是組合關(guān)系,因為當(dāng)人死亡后人的手也就不復(fù)存在了。人和他的電腦是聚合關(guān)系。 class Hand{ } class Computer{ } 組合: class Person{ private Hand hand; public Person(){ hand = new Hand(); } } 聚合: class Person{ private Computer computer; public setComputer(){ computer = new Computer(); } }

標(biāo)簽:聚合區(qū)別組合聚合物


主站蜘蛛池模板: 在线观看色网 | 欧美日韩激情一区二区三区 | 天天精品视频在线观看资源 | 国内精品久久久久久不卡影院 | 亚洲综合第一 | 最新国产福利在线观看 | 9l国产精品久久久久麻豆 | 成年网站在线播放 | 欧美成人三级大全 | 国产精品国产自线拍手机观看 | 日本一区二区三区在线网 | 一级鲁丝片 | 在线观看国产黄色 | 国产免费资源高清小视频在线观看 | 狠狠亚洲婷婷综合色香 | 亚洲a视频| 日韩精品免费一区二区三区 | 亚洲女人在线 | 成年美女黄网站色视频大全免费 | 男人让女人爽的免费视频 | 97玖玖| 四虎影视永久在线精品免费 | 久久综合88 | 精品色视频 | 99国产精品欧美久久久久久影院 | 好吊妞精品| 国产91久久精品 | 午夜在线观看视频在线播放版 | 色综合天天色 | 国产成人在线观看网站 | 韩国一级毛片 | 国产毛片在线看 | 亚洲伊人色图 | 国产图片区 | 中文字幕在线观看一区二区三区 | 99精品99| 国产成人精品影视 | 韩国毛片视频 | 免费观看国产精品视频 | 激性欧美激情在线播放16页 | 97国产成人精品免费视频 |