c 物件導向系列2(多型性)

2021-05-25 21:11:14 字數 843 閱讀 9201

c#多型性的定義:同一操作作用於不同的類的例項,不同的類將進行不同的理解,最後產生不同的執行結果。c#支援兩種型別的多型性:

《1》編譯時的的多型性。編譯時的多型性是通過過載來實現的。對於非虛的成員來說,系統在編譯時,根據傳遞的引數,返回的型別等資訊決定實現何種操作。

《2》執行時的多型性。執行時的多型性就是指直到系統執行時,才根據實際情況決定實現何種操作,c#中,執行時的多型性通過虛成員實現。

編譯時的多型性為我們提供了執行速度的快的特點,而執行時的多型性則帶來了高度靈活的特點。

虛方法

當類中的方法宣告前加上virtual修飾符時,我們稱之為虛方法,反之為非虛方法。

class  mybaseclass

public   virtual   string     virtualmethod()

return  "這個方法是虛方法";

重寫虛函式

普通方法的過載指的是,類中的兩個以上的方法(包括隱藏的繼承而來的方法),取的名字相同,只要使用的是引數或者引數的個數不同,編譯器便知道在何種的情況下呼叫何種方法,而對於基類中的方法過載的另一種特殊形式,在派生類中重新定義此虛函式時,要求的是方法名稱,返回值型別,引數型別,參數列中的引數個數。型別順序都必須與基類中虛方法完全一致,在派生類中對虛函式方法的過載加上override關鍵字,而且不能有new ,static,virtual等修飾符

class  myderivedclass :mybaseclass

public   override    string    virtualmethod()

return "這個方法是override方法";}}

物件導向特性 C 多型性

1.多型性是物件導向程式設計的關鍵技術之一。2.利用多型性技術,可以呼叫同乙個函式名的函式,實現完全不同的功能。3.c 中有兩種多型性 編譯時的多型性和執行時的多型性。編譯時的多型性 通過函式的過載的運算子的過載來實現 函式過載是根據函式呼叫時所給的實參型別和數量,在程式執行前就知道應該呼叫哪乙個函...

C物件導向與多型性

一 多型性 物件導向的基本思考方式是將資料和處理資料的行為放到一起,降低耦合性。其要點就是不要將資料和處理資料的行為分開 在 中 帶有檢查功能的棧 的示例 就將上限資料,下限資料和棧自身的資料都放在了棧結構體中,結果增加了耦合性。也就是說,僅將資料整合在一起,是絕對無法降低耦合性的。物件導向程式設計...

物件導向的多型 多型性

多型指的是一類事物有多種形態,比如水有多種形態 冰 水 水蒸氣,但都是h2o,下面定義乙個h2o的父類和三種形態的子類 class h2o def init self,name,temperature self.name name self.temperature temperature deftu...