物件導向理解,封裝 繼承 多型知識總結

2022-07-25 18:33:09 字數 2396 閱讀 4914

物件導向

類就是物件在程式中的模擬實現,類決定了物件將要擁有的屬性和行為

類是一種資料型別,使用者自定義的資料型別

類的組成:字段、屬性、方法、建構函式等

物件時具體的,是類的具體例項。物件具有屬性(特徵)和方法(行為)

一、物件導向的三大特徵:

封裝類和物件本身就是封裝的體現

(1)屬性封裝了字段

(2)方法的多個引數封裝成了乙個物件

(3)將一堆**封裝到了乙個方法中

(4)將一些功能封裝到了幾個類中

(5)將一些具有相同功能的**封裝到了乙個程式集中(dll、

exe),並且對外提供統一的訪問介面(屬性名、方法名等)

(6)封裝減少了大量的冗餘**

繼承(1)繼承是指類與類之間的關係

(2)繼承帶給我們的好處

① 繼承減少了類中的冗餘**

② 讓類與類產生了關係,為多型打下了基礎

(3)繼承的特性

① 單根性

:乙個子類只能有乙個父類

② 傳遞性:爺爺類

爹類兒子類

(4)裡式轉換

指定乙個父類型別,指向乙個子類的物件

/ 將子類物件賦給父類

只要子類繼承父類,那麼子類的物件可以賦值給父類

①       子類可以賦值給父類

② 如果父類中裝的是父類物件,則可以將這個父類轉換為對應的子類物件

③ 裡式轉換關鍵字

is:返回

bool型別,

指示是否可以做這個轉換

as:如果轉換成功

,則返回物件

,否則返回

null

④ 作用:我們可以將所有的子類都當做是父類來看

,針對父類進行程式設計

,寫出通用的**

,適應需求的不斷變化

多型(1)多型的作用:把不同的子類物件都當做父類來看,可以遮蔽不同子類物件之間的差異,寫出通用的**,做出通用的程式設計,以適用需求不斷變化

(2)多型就是指不同的物件收到相同的訊息時,會產生不同的行為

,同乙個類在不同的場合下表現出不同的行為特徵

二、虛方法

虛方法需要注意的幾點

(1)父類中如果有方法需要讓子類重寫,則可以將該方法標記為virtual

(2)虛方法在父類中必須有實現,哪怕是空實現

(3)虛方法子類中可以重寫(override),也可以不重寫

三、抽象類

抽象類中可以有抽象方法,也可以沒有抽象方法,抽象方法不能實現

抽象方法:

(1)抽象方法需要用abstract關鍵字標識

(2)抽象方法不能有任何方法實現

(3)抽象成員必須包含在抽象類中

(4)由於抽象方法沒有任何實現,所以子類必須將抽象方法重寫

(5)抽象類不能例項化

(6)抽象類中可以包括抽象方法,也可以包括非抽象方法

(7)抽象類不能為靜態類,即不能用static修飾

(8)抽象類有建構函式,雖然不能被例項化

(9)抽象成員的訪問修飾符不能是private

(10)子類繼承抽象類後,必須把父類中的所有抽象成員都重寫,除非子類也是乙個抽象類,則可以不重寫

(11)父類不確定子類如何實現自己的行為,就將其行為定義為乙個抽象的函式

四、介面

介面中只能包含方法(屬性、事件、索引器也都是方法)

介面中的方法不能有任何實現

介面不能被例項化,也就是說介面不能(new)建立物件,跟抽象類一樣,因為建立物件沒有意義

介面是一種規範也是一種能力

介面具有功能單一性

介面中的成員不能有任何訪問修飾符(預設為public)

繼承介面的子類必須將介面中的所有成員方法都實現

子類實現介面的方法時,不需要任何關鍵字,直接實現即可

介面存在的意義就是為了多型

五、關鍵字

new① 建立物件

——》在堆中開闢空間

——》在開闢的堆空間中建立物件

——》呼叫物件的成員

② 隱藏父類的成員

this

① 代表當前類的物件

② 顯示的呼叫用自己的建構函式

base

① 顯示呼叫父類的建構函式

② 呼叫父類的成員

怎麼理解封裝繼承多型

理解封裝 將類的屬性和操作屬性的方法封裝起來,訪問的時候,訪問自己封裝的介面。理解繼承 子類從父類繼承所有資訊,但不能訪問父類私有屬性和方法 子類可有新的屬性和方法 也可以重寫父類方法自己去實現。理解多型 編譯時多型和執行時多型 編譯時多型是過載,執行時多型是重寫 實現多型,需有兩個步驟 一是子類繼...

物件導向 封裝 繼承 多型

物件導向 封裝 繼承 多型物件導向 封裝 一 封裝 private 資料型別 名字 成員變數 public 預設一致 名字 屬性 set 類中不僅可以有成員變數和屬性,還可以有成員方法 訪問修飾符 4個 public 公共的,任何地方都可以訪問,但是需要引用 命名空間 private 私有的,類的內...

C 物件導向(封裝,繼承,多型)

c 封裝繼承多型總結 物件導向的三個基本特徵 物件導向的三個基本特徵是 封裝 繼承 多型。其中,封裝可以隱藏實現細節,使得 模組化 繼承可以擴充套件已存在的 模組 類 它們的目的都是為了 重用。而多型則是為了實現另乙個目的 介面重用!封裝 什麼是封裝?封裝可以隱藏實現細節,使得 模組化 封裝是把過程...