文章出處

這是前一陣《高級軟件工程》課堂上,老師隨堂出的一道討論題,隨手貼在這里:

ps: 今天是520,正好聊一些OoXx,關于愛的扯淡話題:)

題目:“雞生蛋,蛋孵雞”,世間萬物生生不息,如何用O-O中的類圖以盡可能接近現實的方式來描述?

參考答案

解析

1、Chicken是基類,Hen(母雞),Cock(公雞)從Chicken派生,

2、Hen與Egg是關聯關系,注意關聯關系中的“重數”表示,從Hen向Egg的方向看去,0..*表示1只母雞,可能下“0或多”個蛋,而反過來,1只蛋,卻只能由1只母雞所生

3、Egg與Chicken也是關聯關系,類似的,從Egg向Chicken的方向看去,0..1表示這只蛋,有可能孵化出1只雞(不論公母),也有可能孵不出來(這是1個悲慘的蛋)

4、Hen與Cock也有關聯關系,1只公雞可能與0或多個母雞OOXX,反過來也是類似的道理

5、虛線表示“關聯關系類(Association Class)”,Hen與Cock發生關系后,所生的蛋才能稱為受精蛋(愛的結晶),才有可能孵化出1只小雞,這也正好對應了解析中的第3點,但是我們也知道,這世上Hen單靠自己,也能下蛋,只不過孵不出小雞(個人覺得這是鳥類一個比較NB的功能)

 

注:

關聯關系類,技術層面講,就是建一個小類,記錄Hen,Cock這二個的ID

商城系統中,有很多類似的應用,比如Product(商品)與Category(商品分類),如果一個商品可按不同標準歸到多個類,通常會在database中新建一張小表,記錄Product與Category的ID映射,這張表對應的Class,就是關聯關系類


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()