復用實現:
1.實際上**復用並不像我們希望得那麼容易;要設計乙個復用性良好的物件,需要經驗和遠見。
2.復用**最簡單直接的方式是直接使用這個類來建立物件,但是你也可以將那個類的物件放到乙個新的類中。
3.合成具有極大的靈活性,繼承就沒有這種靈活性。(關於什麼是合成,請見原書)
4.由於繼承在oop中是如此重要,因此會被反覆強調,以至於新手們會認為,應該盡量使用繼承。其實一味的使用繼承會導致很奇怪也很複雜的設計。相反,在建立新類的時候,你應該優先考慮使用合成,這麼做會更簡單也更靈活。如果這麼做的話,整個設計也會變得更加井井有條。等你有一點經驗之後,你就會自然而然的知道繼承應該用在**。
繼承:復用藉口
1.建立基類是為了表達,你對系統中某些物件的核心思想的理解。而衍生類是從基類派生出來的,它所表達的是各種實現這個核心思想的方式。
關於物件導向思想
理解物件導向 物件導向是一種思想,是基於面向過程而言的,就是說物件導向是將功能等通過物件來實現,將功能封裝進物件之中,讓物件去實現具體的細節 這種思想是將資料作為第一位,而方法或者說是演算法作為其次,這是對資料一種優化,操作起來更加的方便,簡化了過程。物件導向有三大特徵 封裝性 繼承性 多型性 其中...
物件導向思想
物件導向思想 物件導向是以現實生活中客觀存在的食物 即物件 來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以食物物件為中心來思考 分析問題,並根據事物的本質特徵將其抽象為系統中的物件,作為系統的基本構成單位。物件導向思想主要分為3個主要部分 物件導向分析 物件導向設計 物件導向...
物件導向思想
is a基於類繼承或介面實現,is a 是表達這句話的一種方式 這個東西是那個東西的一種 例如 野馬是一種馬。是乙個 has a關係是基於用法 即引用 而不是繼承。換句話說,如果類a中的 具有對類 b例項的引用,則 類 a has a類b 例如 馬有韁繩。有乙個 is a 代表的是類之間的繼承關係,...