C 中物件導向程式設計技術的應用 二

2022-08-24 14:27:13 字數 1861 閱讀 5111

1,重寫虛方法

(1)虛方法

虛方法就是允許被其子類重新定義的方法,在宣告時,需要用virtual修飾符

注意:

1,virtual修飾符不能與static、abstract或者override修飾符同時使用

2,由於虛方法不能是私有的,所有virtual修飾符不能與private修飾符同時使用

例如:使用virtual修飾符宣告乙個虛方法,用來計算兩個數的和,**如下

public

virtual

int add(int x,int y)//

定義乙個虛方法

(2)重寫方法

如果乙個·方法宣告中含有override修飾符,則該方法稱為重寫方法,它主要用來使用相同的簽名重寫繼承的虛方法。虛方法主要用來引入新方法,而重寫方法則使從基類繼承而來的虛方法專用化(提供虛方法的具體實現)。

例如:使用override修飾符重寫上面宣告的虛方法,**如下

public

override

int add(int x,int y)//

重寫虛方法

override修飾符不能與new、static或者virtual修飾符同時使用。另外,重寫方法只能用於重寫基類中的虛方法,不能用來單獨宣告方法。

例子:

///

///建立的虛方法可以在子類中被重寫

/// class

operation

}//////

在子類中重寫虛方法

/// class

addition : operation

}

重寫方法色過載方法是不相同的,重寫方法是指在派生類中重寫基類的虛方法。而過載方法是指寫乙個與已有方法同名,但引數列表不同的方法。

2,類的多型性

多型性可以簡單地概括為「乙個介面,多種方法」,它是在程式執行的過程中才決定呼叫的方法,多型性是物件導向程式設計的核心概念。例如,日常生活中經常說的開電視、開電腦、開音響等,這裡的」開「就是多型。

多型使得子類(派生類)的例項可以直接賦予基類的物件(這裡不需要進行強制型別轉換),然後直接可以使用這個物件呼叫子類(派生類)的方法。

說明:

1,多型性主要實現介面重用,因為介面是程式開發中最耗費時間的資源,實質上設計乙個介面要比設計一堆類要顯得更有效率

2,多型性在c#中主要通過虛方法和重寫方法來實現

class people//

定義基類

}class chinese : people//

定義派生類,繼承於people類

}class american : people//

定義派生類,繼承於people類

}

如何使用虛方法實現多型性?

首先在基類中定義虛方法,每乙個子類都重寫基類的虛方法,採用基類的物件引用子類例項的方法建立物件,這樣會產生很多基類的物件,使用每個基類的物件呼叫虛方法時會呼叫不同子類重寫基類的方法,這樣就實現了多型性。

C 物件導向程式設計技術(一)

物件導向程式設計 object oriented programming,oop 的基本思想是 將資料及處理這些資料的操作都封裝到乙個稱為類 class 的資料結構中。一 類和物件 1.類的宣告 類修飾符 class 類名 基類類名 注意 和 c 不同,c 不將類的宣告與實現分開。不會區分標頭檔案和...

C 中物件導向程式設計技術 結構與類

1,結構計算 結構是一種可以包含資料成員和放方法員的值型別資料結構。為結構分配資料時不需要從託管堆中分配記憶體,結構型別的變數直接包含了該結構的資料。結構中可以包含建構函式 常量 字段 方法 屬性 運算子 事件和巢狀型別等,但如果要同時包括上述幾種成員,則應該考慮使用類。使用結構對於小的資料結構特別...

C 中物件導向程式設計技術 泛型的使用

1,使用泛型儲存不同型別的資料 泛型程式設計是一種程式設計方式,它利用 引數化型別 將型別抽象化,從而實現更靈活的復用。使用泛型儲存不用型別的資料時,首先定義乙個泛型類,並在泛型類中定義多個泛型變數,然後使用這些變數記錄不同型別的資料,這樣就可以重複利用泛型變數來儲存不同型別的資料。泛型是用於演算法...