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

化工輕工
當前位置:網站首頁 > 聚合物 > 正文

聚合和組合的區別?

作者:訪客發布時間:2021-07-17分類:聚合物瀏覽:100


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

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

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

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

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

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

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

標簽:聚合區別組合聚合物


主站蜘蛛池模板: 狠狠色伊人亚洲综合网站色| 看黄视频在线观看| 国产精品乱码一区二区三区| 一区二区高清在线观看| 黄大色大片免费久久| 亚洲图片在线| 国产小视频在线高清播放| 亚洲国产网站| 国产一区二区三区在线观看精品| 一区二区三区高清不卡| 精品免费看| 伊人网亚洲| 韩国理论福利片午夜| 在线播放一区二区三区| 麻豆国产精品视频| 成人狠狠色综合| 日韩美女拍拍免费视频网站| 白白在线成人永久视频| 日韩激情视频| 91亚洲视频在线观看| 欧美αv天堂在线视频| 91麻豆精品视频| 老太婆性杂交欧美肥老太| 91逼逼| 久久国内视频| 中文字幕亚洲一区二区v@在线| 久99久热只有精品国产男同| 五月天论坛| 黄色小视频在线观看免费| 亚洲女人在线| 国产成人精品一区二区三在线观看 | 男人女人无遮掩免费视频| 91福利一区| 精品福利| 五月婷网| baoyu168成人免费视频| 美女被免费视频网站九色| 中文字幕亚洲一区二区三区| 国内在线观看精品免费视频| 午夜视频在线免费| 99热最新网站|