解釋java的物件導向及資訊隱藏的模型(轉)

BSDLite發表於2007-08-15
解釋java的物件導向及資訊隱藏的模型(轉)[@more@]物件導向技術模型:假設我想送花給我遠在外地的女友,由於distance太遠的原因,我不可能親自送去給mm,雖然我很想。但是送她花還是一件相當easy的事,我只要在本地的花店給他們描述我mm的詳細地址,花的品種,數量,何時送到等具體細節。就可以委託我mm在的那個城市的連鎖花店,把花送到我mm的手中。

這和麵向物件有什麼關係那,我來解釋。
我門送花的過程可以分為一下幾種代理。(因為不能用圖形來表示,所以只能用鏈式的關係表示)
路徑1 :我-花店-送給mm的花。
2 :mm所在城市的花店-送花人-送給mm的花
3 :mm城市的花商-送給mm的花
4:種植園-園丁-批發商-花商-送花人-送給mm的花

我們都可以透過以上的4腫方法。達到我們的目的。但是我們不會去關心花商是怎麼樣來具體實現的,花商可以打電話,或者傳真給mm所在城市花店的連鎖店,然後連鎖店,透過我的訂單的要求,透過種植圓,選到最新鮮的花,然後透過送花人,送到我mm的手裡。 這個我們不去關心具體如何實現的過程就是資訊隱藏我們只關心只要把花送到mm手裡就行了,這就是隱藏實施。
對於程式也和我送mm花這過程一樣。一個物件導向的程式是由一個相互作用的代理團體組成,也就是以上的花商,送花人,種植圓之類的。而這些就是物件。每個物件有他自己的角色,每個物件都提供一種服務,一種動作。

類層次關係的頓悟:

以上模型中的具體物件,例如花商,可分為本地的花商和mm所在城市的花商,但是他們都是花商,還有比如本地花商的老闆,和mm所在城市的花商的老闆。他們都是花商的老闆,他們都是一個類。這裡而老闆的父類是人,人類的父類又是哺乳類動物,而哺乳類動物又屬於動物,而動物最終屬於我們的Object類。我們都是物件,阿貓阿狗也是物件。我你他都是物件導向的。
類的繼承關係是:花店花童-花店老闆-店主-人類-哺乳動物-動物-object
從中可以發現我們繼承了從祖宗到目前個體的所有特性,比如動物有object的屬性。他可能有4條腿,而哺乳類動物又繼承了動物的屬性,而又有自己的屬性,因為他是哺乳的。而人繼承了哺乳類動物的屬性,又有了自己的特性,說話,行走之類。店主也繼承了人的特性,而且他有自己的屬性,他有店主的權利,因為店是他的,而老闆那繼承了店主的某些屬性,比如權利,但是他還是店主的打工仔。而花童只有自己的屬性。但是也是繼承了最基本的object的屬性,這中一層一層的繼承屬性,我覺得很清楚的說明了java類的繼承關係。

以上就是我今天頓悟的東東,寫出來希望對大家能有些幫助。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-960351/,如需轉載,請註明出處,否則將追究法律責任。

相關文章