2020 12 25 物件導向程式設計之多型

2021-10-12 21:42:42 字數 1257 閱讀 7103

指在同範圍中(如:乙個類中)宣告的多個同名函式,但是這些函式的形式引數(引數的個數、型別、順序)不同。

#include int main()

int test()

int test(int a)

int test(int a, int b)

int test(int a, int b, int c)

指繼承父類的子類,在父類中將某個函式使用virtual關鍵字設定為虛函式,並在子類中重新編寫父類中被設定為虛函式的某個函式。

class base

};class test:public base

};

在某基類中宣告為 virtual 並在乙個或多個派生類中被重新定義的成員函式。

用法格式為:virtual 函式返回型別 函式名(參數列) ;

實現多型性,通過指向派生類的基類指標或引用,訪問派生類中同名覆蓋成員函式。

虛函式的目的是提供乙個統一的介面。

虛函式的目的是提供乙個統一的介面,被繼承的子類過載,以多型的形式被呼叫。

如果基類中的函式沒有任何實現的意義,那麼可以定義成純虛函式。

含有純虛函式的類被稱為抽象類(abstract class),不能建立物件(繼承給乙個或多個子類以後在乙個或多個子類中實現不同的定義)。

虛函式可以被直接使用,也可以被子類(sub class)過載以後以多型的形式呼叫,而純虛函式必須在子類(sub class)中實現該函式才可以使用。

//定義為純虛函式

virtual 返回型別 函式名稱(引數列表) = 0;

//例如

class shape

多型就是讓父類指標可以有多種形態。

c++中是通過虛函式實現的多型性。

利用上面的虛函式以及函式重寫,就可以實現多型。

#include class base

//設定虛函式

virtual void print(int a, int b)

};class test:public base

//對父類函式進行重寫

void print(int c)

};//父類指標指向子類物件

void myprint(base& b)

int main()

物件導向程式設計之術語

術語 含義屬性 一小段資訊,例如顏色 高度或重量,描述物件的乙個特性 字段物件內部的指定值 操作屬於物件的一段 方法操作的同義詞 訊息從乙個物件傳送到另乙個物件的請求 呼叫執行操作,以響應訊息 執行呼叫的同義詞 關聯兩個物件之間的直接或間接連線 聚合強關聯,隱含著某種部分 一體層次結構 復合強聚合,...

物件導向的程式設計之建立物件

物件的定義 無序屬性的集合,屬性的值可以是基本值 物件或者函式.每個物件都是基於乙個應用型別建立的,這個引用型別可以是內建的 例如objectarraymath 也可以是使用者自定義的.所有的物件都是繼承自object的,因此我們可以從object著手建立物件.通過new 關鍵字建立物件 var p...

物件導向的程式設計之 init

在python的類中有很多方法的名字有特殊的重要意義。現在我們將學習 init 方法的意義。init 方法在類的乙個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的 初始化 注意,這個名稱的開始和結尾都是雙下劃線。例如 usr bin python filename class in...