老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

java中面向對象設計模式類與類有什么關系

java中面向對象設計模式類與類有什么關系?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

沙坪壩網站建設公司創新互聯建站,沙坪壩網站設計制作,有大型網站制作公司豐富經驗。已為沙坪壩1000+提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的沙坪壩做網站的公司定做!

1. 依賴(Dependence)

java中面向對象設計模式類與類有什么關系

依賴關系的定義為:對于兩個相對獨立的對象,當一個對象負責構造另一個對象的實例,或者依賴另一個對象的服務時,這兩個對象之間主要體現為依賴關系。定義比較晦澀難懂,但在java中的表現還是比較直觀的:類A當中使用了類B,其中類B是作為類A的方法參數、方法中的局部變量、或者靜態方法調用。類上面的圖例中:People類依賴于Book類和Food類,Book類和Food類是作為類中方法的參數形式出現在People類中的。

代碼樣例:

public class People{
//Book作為read方法的形參
public void read(Book book){
System.out.println(“讀的書是”+book.getName());
}
}

2.關聯(Association)

單向關聯:

 java中面向對象設計模式類與類有什么關系

雙向關聯:

java中面向對象設計模式類與類有什么關系

對于兩個相對獨立的對象,當一個對象的實例與另一個對象的一些特定實例存在固定的對應關系時,這兩個對象之間為關聯關系。關聯關系分為單向關聯和雙向關聯。在java中,單向關聯表現為:類A當中使用了類B,其中類B是作為類A的成員變量。雙向關聯表現為:類A當中使用了類B作為成員變量;同時類B中也使用了類A作為成員變量。

代碼樣例:

public class Son{
//關聯關系中作為成員變量的類一般會在類中賦值
Father father = new Father();
public void getGift(){
System.out.println(“從”+father.getName()+”獲得禮物”);
}
}
public class Father{
Son son = new Son();
public void giveGift(){
System.out.println(“送給”+son.getName()+“禮物”);
}
}

3.聚合(Aggregation)

java中面向對象設計模式類與類有什么關系

聚合關系是關聯關系的一種,耦合度強于關聯,他們的代碼表現是相同的,僅僅是在語義上有所區別:關聯關系的對象間是相互獨立的,而聚合關系的對象之間存在著包容關系,他們之間是“整體-個體”的相互關系。

代碼樣例:

public class People{
Car car;
House house; 
//聚合關系中作為成員變量的類一般使用set方法賦值
public void setCar(Car car){
This.car = car;
}
public void setHouse(House house){
This.house = house;
}
public void driver(){
System.out.println(“車的型號:”+car.getType());
}
public void sleep(){
System.out.println(“我在房子里睡覺:”+house.getAddress());
}
}

4.組合(Composition)

java中面向對象設計模式類與類有什么關系

相比于聚合,組合是一種耦合度更強的關聯關系。存在組合關系的類表示“整體-部分”的關聯關系,“整體”負責“部分”的生命周期,他們之間是共生共死的;并且“部分”單獨存在時沒有任何意義。在下圖的例子中,People與Soul、Body之間是組合關系,當人的生命周期開始時,必須同時有靈魂和肉體;當人的生命周期結束時,靈魂肉體隨之消亡;無論是靈魂還是肉體,都不能單獨存在,他們必須作為人的組成部分存在。

Public class People{
Soul soul;
Body body; 
//組合關系中的成員變量一般會在構造方法中賦值
Public People(Soul soul, Body body){ 
This.soul = soul;
This.body = body;
}
Public void study(){
System.out.println(“學習要用靈魂”+soul.getName());
}
Public void eat(){
System.out.println(“吃飯用身體:”+body.getName());
}
}

5.繼承(Generalization)

java中面向對象設計模式類與類有什么關系

繼承表示類與類(或者接口與接口)之間的父子關系。在java中,用關鍵字extends表示繼承關系。UML圖例中,繼承關系用實線+空心箭頭表示,箭頭指向父類。

6.實現(Implementation)

java中面向對象設計模式類與類有什么關系

表示一個類實現一個或多個接口的方法。接口定義好操作的集合,由實現類去完成接口的具體操作。在java中使用implements表示。UML圖例中,實現關系用虛線+空心箭頭表示,箭頭指向接口。

在java中繼承使用extends關鍵字,實現使用implements關鍵字,很直觀。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。


分享標題:java中面向對象設計模式類與類有什么關系
標題路徑:http://www.xueling.net.cn/article/jpddgg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美精品网站 | 国产精品成年人 | 亚洲日韩精品国产一区二区三区 | 凤隐天下60集全免费播放在线观看 | 天天艹逼网 | a级毛片免费观看片 | 午夜福利妺妺嘿嘿影视 | 成人av影片 | 中文字幕国产区 | 字幕专区码中文欧美在线 | 国产福利av | 成年人网站在线 | 亚洲日本成本人观看 | 免费的av网站在线观看国产精品 | 99国产午夜精品 | 脱了美女内裤猛烈啪啪爽 | 在线亚洲日本 | 野花视频最新免费完整在线观看 | 91蜜桃婷婷狠狠久久综合9色 | 成人影片一区免费观看 | 一女被两男吃奶玩乳尖 | 久久99精品一区二区三区三区 | 免费国产凹凸在线视频 | av老司机在线 | 精品久久久久久中文字幕一区二区 | 狠狠躁日日躁夜夜躁2020 | 国产日本欧美一区二区三区 | 欧美日韩视频在线一区二区三区 | 亚洲精品久久无码2021 | 欧美www视频在线观看 | 国产亚洲精品综合 | 亚洲自拍偷拍视频 | 亚洲一级在线 | 在线国产精品自拍 | av毛片在线免费看 | 97夜夜模夜夜爽夜夜喊 | 国产又黄又潮娇喘视频在线观看 | 国产精品自产拍在线观看中文 | 日本国产精品无码字幕在线观看 | 亚洲精品国产一区二区三区四区在线 | 美女h片|