adt
(c的內容)
優點:2 點
1、實現了將介面的實現與使用分開,使用者只要知道這個介面提供的功能以及如何呼叫即可,使得使用者只需直接呼叫介面就可完成功能,而不必知道介面的具體實現。——實現了模組化和**復用。
2、而具體實現的內部細節(非介面)的資料和函式則是在實現是被用static隱藏,使得使用者也無法了解。——這屬於黑盒設計,保護了開發者的設計。
缺點:2 點
無法保護資料結構,一些資料結構仍是對使用者開放,使得使用者也可以在不呼叫提供的介面函式的前提下自己對資料結構的內容進行未知的改動,這樣可能就會使提供的介面函式呼叫出錯,這個安全性就不強了。
無法實現資料結構和介面的繫結。造成對的資料結構使用錯介面,或對的介面使用錯的資料結構,需要使用者記著資料結構對應著哪些介面,這樣加大了呼叫者的任務量並且也不能保證介面呼叫的正確性。
由此——產生了c++的物件導向思想——
類
類將資料結構與操作進行封裝,即保證了操作使用的正確性,還能隱藏介面的實現,還有特色的一點是,它能夠控制對外開發的程度(private、public、protect),還可以繼承,還可以抽象。
類的三大特點:------看p167-173,很詳細的解釋以及自己的筆記!
封裝性、
繼承性、
多型性
物件導向思想
物件導向思想 物件導向是以現實生活中客觀存在的食物 即物件 來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以食物物件為中心來思考 分析問題,並根據事物的本質特徵將其抽象為系統中的物件,作為系統的基本構成單位。物件導向思想主要分為3個主要部分 物件導向分析 物件導向設計 物件導向...
物件導向思想
is a基於類繼承或介面實現,is a 是表達這句話的一種方式 這個東西是那個東西的一種 例如 野馬是一種馬。是乙個 has a關係是基於用法 即引用 而不是繼承。換句話說,如果類a中的 具有對類 b例項的引用,則 類 a has a類b 例如 馬有韁繩。有乙個 is a 代表的是類之間的繼承關係,...
物件導向思想
我們在編寫程式的過程實際上也是解決問題的過程,對於具體的某乙個事物最好採用一類解決問題的方法,使我們解決問題時可維護性 可擴充套件性 可重用性更好。在物件導向產生之前,人們採用的是面向過程的程式設計方法,就是按照計算機思維寫出 一步步執行下去,也就是將客體所構成的現實世界對映到由功能模組組成的解空間...