《Java大學(xué)教程》—第11章 案例研究--第1部分
自測題:
1. 圖11-1的UML設(shè)計中各個類之間的關(guān)系。
Hostel與TenantList是關(guān)聯(lián)關(guān)系;
TenantList和PaymentList與ObjectList是泛化關(guān)系。TenantList和PaymentList是ObjectList的子類;
TenantList與Tenant是聚合關(guān)系;
PaymentList與Payment是聚合關(guān)系;
Tenant與PaymentList是關(guān)聯(lián)關(guān)系。
注:不太明白什么時候描述關(guān)系,可能用來描述的還是業(yè)務(wù)上的關(guān)系。
2. 為什么開發(fā)一個通用的ObjectList類。
該系統(tǒng)需要開發(fā)兩種列表,PaymentList和TenantList,為了避免重復(fù)開發(fā)代碼,因此開發(fā)了一個通用的ObjectList類,
然后通過繼承方法分別為PaymentList和TenantList添加特定的屬性和方法。
3. 在UML類圖中如何記錄類的屬性?
類屬性的語法:
[可見性]屬性名[:類型][=初始值][{屬性字符串}]
(1)可見性:類中屬性的可見性主要包括公有(Public)、私有(Private)和受保護(hù)(Protected)。
在UML中,用“+”表達(dá)公有類型,用“-”表達(dá)私有類型,而用“#”表達(dá)受保護(hù)類型。UML的類中不存在默認(rèn)的可見性,
如果沒有顯示任何一種符號,就表示沒有定義該屬性的可見性。
(2)屬性名:每個屬性都必須有一個名字以區(qū)別于類中的其他屬性,是類的一個特性。屬性名由描述所屬類
的特性的名詞或名詞短語組成。按照UML的約定,單字屬性名小寫。如果屬性名包含多個單詞,這些單詞要合并,
且除了第一個單詞外其余單詞的首字母要大寫。
(3)類型:說明屬性的數(shù)據(jù)類型。在類的圖標(biāo)里,可以指定每個屬性值的類型。可能的類型包括字符串
(string)、浮點型(float)、整型(int)和布爾型(boolean),以及其他的枚舉類型。指明類型時,需要在
屬性值后面加上類型名,中間用冒號隔開。還可以為屬性指定一個默認(rèn)值。
(4)初始值:為了保護(hù)系統(tǒng)的完整性,防止漏掉取值或被非法的值破壞系統(tǒng)的完整性,可以設(shè)定屬性的初始值。
(5)屬性字符串:屬性字符串用來指定關(guān)于屬性的其他信息,例如,某個屬性應(yīng)該是永久的。任何希望添加
在屬性定義字符串值但又沒有合適地方可以加入的規(guī)則,都可以放在屬性字符串里。
4. 如何改進(jìn)本章案例研究中開發(fā)的應(yīng)用程序。
(1)使用圖形化用戶界面。下章會完成。
(2)其他可以改的地方太多了,就不擴(kuò)展了。
編程練習(xí):代碼附件
1. PaymentTester.java
2. PaymentTester.java
3. TenantTester.java
4. TenantListTester.java
5. TenantListTester.java
6. ...
posted on 2016-09-01 23:06 zYx.Tom 閱讀(231) 評論(0) 編輯 收藏 所屬分類: 1.Java世界