物件導向有三大特性,封裝、繼承和多型。
封裝就是將一類事物的屬性和行為抽象成乙個類,使其屬性私有化,行為公開化,提高了資料的隱秘性的同時,使**模組化。這樣做使得**的復用性更高。
繼承則是進一步將一類事物共有的屬性和行為抽象成乙個父類,而每乙個子類是乙個特殊的父類--有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴充套件了已存在的**塊,進一步提高了**的復用性。
如果說封裝和繼承是為了使**重用,那麼多型則是為了實現介面重用。多型的一大作用就是為了解耦--為了解除父子類繼承的耦合度。如果說繼承中父子類的關係式is-a的關係,那麼介面和實現類之之間的關係式has-a。簡單來說,多型就是允許父類引用(或介面)指向子類(或實現類)物件。很多的設計模式都是基於物件導向的多型性設計的。
總結一下,如果說封裝和繼承是物件導向的基礎,那麼多型則是物件導向最精髓的理論。掌握多型必先了解介面,只有充分理解介面才能更好的應用多型。
自己的理解:
「假設我是女媧,我準備捏一些人,
首先,人應該有哪些基本特徵:
1.有四肢 2.有大腦 3.有器官 4.有思想 我們就有了第乙個模型,這就是抽象。
其次,我和西方上帝是好友,我想我的這個想法能夠提供給他用,但是我不想讓他知道裡面細節是怎麼捏出來的,用的什麼材料,他也不用考慮那麼多,只要告訴我他要捏什麼樣的人就可以了。這就是封裝。
然後,我之後創造的人都以剛才的模型做為模板,我創造的人都有我模型的特徵這就是繼承。
物件導向的理解
今天發現一本好書,設計模式精解,作者是alan shalloway和james r.trott,薄薄的一本,但是講的很清楚,也讓我對物件導向和設計模式有了多一點的理解。記得去三星實習生面試的時候面試過就問過乙個問題,談談對物件導向的理解,我當時就只說了乙個多型,而且感覺沒有條理,所以今天趁著看過書,...
物件導向的理解
1.物件導向的思想 誰擁有資料,誰就提供運算元據的方面。eg1 售票員統計票上的資料這個過程中統計方法是票據提供的。eg2 兩塊石頭磨成一塊石刀,石刀砍樹,砍成木材,木材又變成椅子 eg3.乙個小球從繩子一端移到至另一端。就第二個例子而言,石頭變成石刀,這個變成的方法不應該是石頭提供的,因為一般沒有...
物件導向的理解
關於物件導向的概念,一直都是似懂非懂的狀態,做次筆記方便日後溫故而知新 封裝 解決了資料的安全問題.繼承 解決了 的重用問題.多型 解決了程式的擴充套件問題.在現實生活中,可以理解為兒子繼承了父親的財產。財產的重用。在程式中是解決 的重用問題 繼承是利用現有的類建立新類的過程,現有的類稱作基類 父類...