6.2.6類的結構和層次_第1頁
6.2.6類的結構和層次_第2頁
6.2.6類的結構和層次_第3頁
6.2.6類的結構和層次_第4頁
6.2.6類的結構和層次_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

6.2.6

類的結構和層次—

1

整體和部分?

1

整體和部分結構組裝結構表示對象類之間的組成關系,即整體與部分的關系。整體對于部分是

has-a”

關系。

(

部分對于整體是“

a-part-of”

關系

)???組裝結構體現了面向對象方法的聚合(也叫聚集

Aggregation

)原則

組合(

composition)

編程

兩種實現方式???1

)把整體對象中的這個屬性變量定義成指向部分對象的指針,或定義成部分對

象的對象標識,運行時動態創建部分對象,并使整體對象中的指針或對象標識指

向他。2

用部分對象的類做為數據類型。靜態地聲明整體對象中這個代表部分對象的

屬性變量。部分對象被嵌入到整體對象的屬性空間中。采用對象指針或對象標識時整體對象和部分對象各自獨立創建。6.2.6

類的結構和層次—

1

整體和部分學院學科部實驗室辦公室組成關系

(

整體與部分的關系

)

例6.2.6

類的結構和層次—

1

整體和部分

如何發現整體

-

部分結構????????(審查和篩選,變成對象層和屬性層)

1

)組織機構和它的下級組織及部分

2

)物理上的整體事物和它的組織部分

3

)組織和成員(

4

)抽象事物的整體和部分(

5

)一種事物在空間上包含其他事物

6

)具體事物和它的某個抽象方面。

審查篩選6.2.6

類的結構和層次—

1

整體和部分?④

簡化對象的定義⑤

調整對象層

和屬性層6.2.6

類的結構和層次—

2

一般和特殊????2

一般和特殊結構(分類關系,歸納關系,繼承關系)分類是對象抽象的基礎分類結構表現的是事物的一般與特殊的關系,即“

is-a”

關系

。面向對象術語中常把一般與特殊的關系稱為泛化(

Generalization

)與特化(

Specialization

)聯系6.2.6

類的結構和層次—

2

一般和特殊???①

如何發現這種結構

審查與調整

簡化這個結構學生?④

調整對象層和特征層本科生研究生6.2.6

類的結構和層次—

2

一般和特殊存戶賬號姓名余額存款取款儲蓄存戶利息率支票存戶一般

/

特殊結構舉例一般類(

父類、基類、超類

)一個特殊類中的所有對繼承象可繼承一般類中的屬

性、服務、關系.特殊類(

子類、具體類

)6.2.6

類的結構和層次—

2

一般和特殊公司職員姓名

身分證號碼…………股東股份…………職員工資…………公司職員姓名

身分證號碼股份工資…………①

如何發現這種結構

從一般類發現特殊類??6.2.6

類的結構和層次—

2

一般和特殊公司職員姓名

身分證號碼…………股東股份…………職員工資…………股東姓名

身分證號碼股份…………職員姓名

身分證號碼工資…………從特殊類發

現一般類?6.2.6

類的結構和層次—

2

一般和特殊收款機ABCXY現鈔收款機

DEFZ現鈔收款機

ABCDEFXYZ為支持復用建立結構收款機類成為

可供本領域其

它系統復用的

領域構件大學生研究生研究方向指導教師…學生姓名學號班級………學生姓名學號班級………究方教③

簡化這個結構:

1

)取消沒有特殊屬性的特殊類……研生研究指導向師……人員性別國籍…………6.2.6

類的結構和層次—

2

一般和特殊人員…………男人……女人……中國人……………………2

通過增加屬性簡化一般

-

特殊結構……

……美國人

日本人

……

……設備型號生產

廠商開啟關閉雷達型號生產廠

商安裝地

點開啟關閉監控6.2.6

類的結構和層次—

2

一般和特殊達點(3)

取消用途單一的一般類取消設備類雷安裝地監控6.2.6

類的結構和層次—

2

一般和特殊表示多態性

(詳細說明)6.2.6

類的結構和層次—

2

一般和特殊兩種結構的變通6.2.6

類的結構和層次—

3

實例連接

(一)簡單的實例連接

(二)復雜的實例連接

(三)三元關聯

(四)如何建立實例連接

(五)對象層和特征層的增補6.2.6

類的結構和層次—

3

實例連接?(一)簡單的實例連接?

1

指通過對象屬性來表示的一個對象對另一個對象的依賴關系。

?

2

表示?

3

實現:?二元關聯的實施?

a

)一對一和一對多關聯的實現

?

b)

多對多的實現6.2.6

類的結構和層次—

3

實例連接?

a

一對多,多對多的實現?編程中:可用對象指針來表示。在被連接的兩個類中選擇其中一

個(一般在多的那側),在它的對象中設立一個指針類型的屬性

,用于指向另一個類中與它有連接關系的對象實例。?關系數據庫中的實現:用兩個表分別實現關聯兩端的類,以數量

約束為

1

的類所對應的數據庫表的元組(行)為目標,在關聯另

一端的類所對應的表中設置一個指向該目標的外鍵,它也是目標

表的主鍵6.2.6

類的結構和層次—

3

實例連接??b

多對多的關聯實現任何一端的一個對象實例要和另一端多個對象實例發生關聯,且

數量不確定。實現時不知道該設多少個指針?編程中:用兩個類分別實現兩端的類,同時用另外一個類來實現

它們之間的關聯,實現關聯的類包含兩個屬性,分別指向兩端的

類的對象實例的指針或對象標識。6.2.6

類的結構和層次—

3

實例連接關系數據庫中的實現:用兩個表分別實現關聯兩端的類,同時以另一

個數據庫表來實現它們之間的關聯。實現關聯的數據庫表包含兩個屬

性,分別指向兩端的表的元組(行)的外鍵。6.2.6

類的結構和層次—

3

實例連接個人名字身份證號公司名字地址工資職務?(二)復雜的實例連接?

1

)采用復雜的實例連接?

2

)用對象表示其復雜性關聯關系

(

鏈屬性

)

的表示允許實例連接帶有一組屬性,這些屬性通過關聯來描述為之工作雇員雇主6.2.6

類的結構和層次—

3

實例連接?2

種解決方式

1

采用復雜的實例連接(帶屬性和操作的關聯

---

關聯類)只帶屬性:1

)一端設立一組屬性,其中一個屬性指向另

一端對象的指針,其余屬性是在關聯中列出的

連接屬性2

)根據關聯定義一個結構數據類型,其中兩

個域變量為分別指向兩端對象的指針,其余是

連接屬性3

)根據關聯定義一個結構數據類型,其中一

個域變量指向一端對象的指針,其余是連接屬

性4

關聯做為一個類,這個類的對象代表兩端6.2.6

類的結構和層次—

3

實例連接

2

用對象標示實例連接的復雜性6.2.6

類的結構和層次—

3

實例連接6.2.6

類的結構和層次—

3

實例連接?(三)三元(

N

元)連接員工姓名

身份證號碼

地址職務公司名字電話號碼主要產品地址雇用解雇項目項目名預算優先級產品產品名成本重量工人經理部門部門名一家公司的對象模型(

OMT

)示例1+為之工作管理0

1參加1+主持生產1+1+1+定貨dataReceivedisPrepaidnumber:Stringprice:Moneydispatch(

)close(

)顧客nameaddresscreditRating(

):Strin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論