繼承、封裝和多型
oriented object programming:oop,物件導向程式設計
所有程式語言的最終目的都是提供一種「抽象」方法。一種較有爭議的說法是:解決問題的複雜程度直接取決於抽象的種類及質量。這兒的「種類」是指準備對什麼進行「抽象」
?組合語言
是對基礎機器
的少量
抽象。後來的許多「命令式」語言
(如 fortran, basic 和 c)是對組合語言
的一種抽象。與組合語言相比,這些語言已有了長足的進步,但它們的抽象原理依然要求我們著重考慮計算機的結構,而非考慮問題本身的結構。
一種「純粹」的物件導向程式設計方法所應該具有的特性:
(1)所有東西都是物件
。可將物件想象成一種新型變數;它儲存著資料,但可要求它對自身進行操作。理論上講,可從要解決的問題身上提出所有概念性的元件,然後在程式中將其表達為乙個物件。
(2)程式是一大堆物件的組合
。通過訊息傳遞,各物件知道自己該做些什麼。為了向物件發出請求,需向那個物件「發出一條訊息」。更具體地講,可將訊息想象為乙個呼叫請求,它呼叫的是從屬於目標物件的乙個子例程或函式。
(3)每個物件都有自己的儲存空間,可容納其他物件
。或者說,通過封裝現有物件,可製作出新型物件。所以,儘管物件的概念非常簡單,但在程式中卻可達到任意高度的複雜程度。
(4)每個物件都有一種型別
。根據語法,每個物件都是某個「類」的乙個「例項」。其中,「類」(class)是「型別」(type)的同義詞。乙個類最重要的特徵就是「能將什麼訊息發給它?」
(5)同一類所有物件都能接收相同的訊息
。由於型別為「圓」(circle)的乙個物件也屬於型別為「形狀」(shape)的乙個物件,所以乙個圓完全能接收形狀訊息。這意味著可讓程式**統一指揮「形狀」,令其自動控制所有符合「形狀」描述的物件,其中自然包括「圓」。這一特性稱為物件的「可替換性」,是oop最重要的概念之一。
C 物件導向特性 封裝 繼承 多型
將方法細節隱藏,只留名字。public 所有物件都可以訪問 private 物件本身在物件內部可以訪問 protected 只有該類物件及其子類物件可以訪問 internal 同乙個程式集的物件可以訪問 protected internal 乙個程式集內的物件,或者該類物件及其子類可以訪問 以上是常...
物件導向封裝的特性
l封裝 是指隱藏物件的屬性和實現細節,僅對外提供公共訪問方式。l好處 將變化隔離。便於使用。提高重用性。提高安全性。l封裝原則 將不需要對外提供的內容都隱藏起來。把屬性都隱藏,提供公共方法對其訪問。封裝 表現 1,函式就是乙個最基本封裝體。2,類其實也是乙個封裝體。從以上兩點得出結論 好處 1,提高...
物件導向三大特性 封裝 繼承 多型
封裝 封裝 是將類的某些資訊隱藏在類的內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問。存在乙個邊界,邊界之內的細節隱藏起來,只留下對外的藉口 如 筆記本,手機,飲水機 封裝的好處 只能通過規定方法訪問資料,安全 易用 簡單 易維護。隱藏類的實現細節 方便加入控制語句...