點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第六章匯總、
6.9 設計類
在面向對象程序設計中,一個基本的問題就是決定在你的程序中各個類之間的相互關系。一種可能性是從你已經(jīng)定義的基類派生出若千個類來,以建立一個類的結構層次,并為特定的子類增加方法和數(shù)據(jù)成員。我們的Animal類和由它派生出來的子類就是這樣一個例子。另一種可能性是定義一套類,它們沒有結構層次關系,但是,有一些屬于它們自己的類對象的數(shù)據(jù)成員。例如,Zoo類可能就有一個從Animal類派生的類對象作為成員。你可以有包含數(shù)據(jù)成員為類對象的類結構,其實我們已經(jīng)在類Animal中接觸過這種情況,它有一個String類型的成員。到目前為止,這些例子選擇的方式都比較明確,但并不是總會這樣地明顯。你常常需要在把一個類作為層次結構中的一個類定義,還是作為一個類對象的成員的類定義之間進行選擇。采用哪種方式最好呢?
與所有這類問題一樣,沒有一個明確的答案。如果面向對象程序設計是一個過程,而這個過程可以通過你只需盲目遵守的一套固定的規(guī)則來進行說明,那么我們就可以把它提交給計算機完成這些事情。盡管有一些準則,但可能解答中的內(nèi)容可能更明顯。
除了反映對象類型之間的現(xiàn)實世界關系的需求以外,使用多態(tài)性(或者我們在不久就會看到的接口)也是使用子類的一個主要原因。這是面向對象程序設計的精華,能夠被等效處理的一堆相關的對象可以極大地簡化你的程序。你已經(jīng)看到如何從一個公共的基類Animal派生出來的類獲得指定的各種動物類型,這將使我們可以對不同類型的動物進行處理,而它們就好像是同一種類型。產(chǎn)生的不同結果將取決于目前正在處理的動物類型,所有這些完全都是自動地。
相關推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |