多型性(C 程式設計指南)

2021-05-24 01:37:54 字數 1306 閱讀 8174

1.使用new關鍵字時,呼叫的是新的類成員而不是已被替換的基類成員。這些基類成員稱為隱藏成員。如果將派生類的例項強制轉換為基類的例項,就仍然可以呼叫隱藏類成員.

public class baseclass

public int workfield;

public int workproperty

}}public class derivedclass : baseclass

public new int workfield;

public new int workproperty

}}

derivedclass b = new derivedclass();

b.dowork(); // calls the new method.

baseclass a = (baseclass)b;

a.dowork(); // calls the old method.

2. 為了使派生類的例項完全接替來自基類的類成員,基類必須將該成員宣告為虛擬的。這是通過在該成員的返回型別之前新增 virtual 關鍵字來實現的。然後,派生類可以選擇使用 override 關鍵字而不是new,將基類實現替換為它自己的實現
public class baseclass

public virtual int workproperty

}}public class derivedclass : baseclass

public override int workproperty

}}

derivedclass b = new derivedclass();

b.dowork(); // calls the new method.

baseclass a = (baseclass)b;

a.dowork(); // also calls the new method.

c# 語言經過專門設計,以便不同庫中的基類與派生類之間的版本控制可以不斷向前發展,同時保持向後相容。這具有多方面的意義。例如,這意味著在基類中引入與派生類中的某個成員具有相同名稱的新成員在 c# 中是完全支援的,不會導致意外行為。它還意味著類必須顯式宣告某方法是要重寫乙個繼承方法,還是乙個僅隱藏具有類似名稱的繼承方法的新方法。

c# 允許派生類包含與基類方法名稱相同的方法。

C C 程式設計(三) C 多型性

c 程式語言是一款應用廣泛,支援多種程式設計的計算機程式語言。我們今天就會為大家詳細介紹其中c 多型性的一些基本知識,以方便大家在學習過程中對此能夠有乙個充分的掌握。多型性可以簡單地概括為 乙個介面,多種方法 程式在執行時才決定呼叫的函式,它是物件導向程式設計領域的核心概念。多型 polymorph...

C 的多型性

c 的多型性 1.多型性的概念 多型性是指用乙個名字定義不同的函式,這函式執行不同但又類似的操作,從而實現 乙個介面,多種方法 多型性的實現與靜態聯編 動態聯編有關。靜態聯編支援的多型性稱為編譯時的多型性,也稱靜態多型性,它是通過函式過載和運算子過載實現的。動態聯編支援的多型性稱為執行時的多型性,也...

有關C 多型性

c 多型性是通過虛函式來實現的,虛函式允許子類重新定義成員函式,而子類重新定義父類的做法稱為覆蓋 override 或者稱為重寫。這裡我覺得要補充,重寫的話可以有兩種,直接重寫成員函式和重寫虛函式,只有重寫了虛函式的才能算作是體現了c 多型性 而過載則是允許有多個同名的函式,而這些函式的引數列表不同...