官术网_书友最值得收藏!

1.2.5 關聯關系

關聯關系顧名思義就是一個類與另一個類在對象之間的聯系,聯系可以是雙向的,也可以是單向的。在UML類圖中,雙向關聯關系用沒有箭頭的實線表示,單向關聯關系用“實線+箭頭”表示,箭頭指向被關聯的類。

例如,醫生與病人之間的關系,個體與自身手機號、身份證號之間的關系。在代碼中,將一個類的對象作為另一個類的成員變量來達到兩者關聯的目的。

其中,醫生與病人雙向關聯關系的UML類圖如圖1-6所示。

▲圖1-6 雙向關聯關系

圖1-6說明了雙向關聯關系的UML類圖的組成,醫生類Doctor和病人類Patient為雙向關聯,醫生類Doctor包含私有成員變量病人類對象集合list<Patient>、醫生姓名doctorName和公有類方法醫生診斷方法Diagnosis();病人類Patient包含私有成員變量醫生類對象集合list<Doctor>、病人姓名patientName和公有類方法病人看病方法SeeADoctor();Doctor類和Patient類分別包含對方的類對象作為成員變量,從而實現雙向關聯關系。

其中,個體與手機號、身份證號單向關聯關系的UML類圖如圖1-7所示。

圖1-7說明了單向關聯關系的UML類圖的組成,個體類People包含手機號類Phone和身份證號類Identity這兩個私有成員變量;People類實現個體標志方法IdPeople(),Phone類實現設定手機號方法SetPhoneNum(int* pn),Identity類實現設定身份證號方法SetIdNum(int* in);People類指向Phone類和Identity類,實現了一種單向的關聯關系。

▲圖1-7 單向關聯關系

主站蜘蛛池模板: 朔州市| 剑河县| 富裕县| 东港市| 从化市| 旬邑县| 乳源| 安国市| 吉林省| 青州市| 澄城县| 毕节市| 通渭县| 彝良县| 丁青县| 文昌市| 中方县| 钦州市| 潼南县| 南丹县| 克山县| 灵武市| 土默特左旗| 自贡市| 黑山县| 榕江县| 醴陵市| 浮梁县| 如东县| 称多县| 龙南县| 视频| 正安县| 河南省| 阿瓦提县| 芦山县| 饶河县| 翼城县| 宁津县| 涞源县| 永济市|