1. 程式人生 > >面向物件具有哪些特性以及對這些特性的理解

面向物件具有哪些特性以及對這些特性的理解

具有的特性和理解:

繼承:繼承是從已有類得到繼承資訊建立新類的過程,提供繼承資訊的類被稱為父類(超類,基類);得到繼承資訊的類被稱為子類(派生類).繼承讓變化中的軟體系統有了一定的延展性,同時繼承也是封裝程式中可變因素的重要手段.

封裝:通常認為封裝是把資料和操作資料的方法繫結起來,對資料的訪問只能通過已定義的介面,面向物件的本質就是講實現的世界描述成一系列完全自治,封閉的物件.我們在類中編寫的方法就是對現實細節的一種的一種封裝;我們編寫一個類就是對資料和資料操作的封裝,可以說,封裝就是隱藏一切可隱藏的東西,只向外界提供最簡單的程式設計介面.

多型性:多型性是指允許不通子型別的物件對同一訊息作出不同的響應,簡單的說就是用同樣的物件引用呼叫同樣的方法但是做不了不同的事,多型性分為編譯時的多型性和執行時的多型性.如果將物件的方法視為物件向外界提供服務,那麼執行的多型性可以理解為:當A系統訪問B系統提供的服務時,B系統有多重提供服務的方式,但一切對A系統來說都是透明的.方法過載(overload)實現的是編譯時的多型性(也稱為前繫結),而方法重寫(override)實現是執行時的多型性(也稱為後繫結).執行時的多型是面向物件最精髓的東西,要實現多型需要做兩件事情:1.方法重寫(子類繼承父類並重寫父類中已有的或抽象的方法);2.物件造型(用父類引用子型別物件,這樣同樣的引用呼叫同樣的方法就會根據子類物件的不同而表現出不同的行為)

抽象:抽象是將一類物件的共同特徵總結出來構造類的過程,包括資料抽象和行為抽象兩方面,抽象只關注物件有哪些屬性和行為,並不關注這些行為的細節是什麼.