C 學習筆記20 多型之虛方法

2021-10-03 08:11:11 字數 1853 閱讀 8474

多型性是允許你將父物件設定成為乙個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作(摘自「delphi4 程式設計技術內幕」)。簡單的說,就是一句話:允許將子類型別的指標賦值給父類型別的指標。

用通俗的語句來講,多型是就是對於同一物件可以表現處多種狀態,在呼叫該物件時可以根據具體的子類來進行呼叫

多型的好處就是能增加程式的擴充套件性,配合繼承來說,可以讓子類繼承父類的同時,自己重寫其方法,從而實現其方法的多型顯示

理論講解你可以不太理解,配合例項可能會更加透徹

實現多型的方法主要有三種:

1)虛方法

2)抽象類

3)介面

虛方法就是將父類的方法標記為虛方法,使用關鍵字virtual,從而可以使該函式能被子類重新定義(子類前加上關鍵字override),從而可以實現對方法的重新定義

因此,在呼叫不同的子類時,可以實現呼叫不同子類物件中的方法

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _05多型

;for

(int i =

0; i < pers.length; i++

)else

if(pers[i]

is japanese)

else

if(pers[i]

is korea)

else

} console.

readkey()

;#endregion

//多型:讓乙個物件能夠表現出多種的狀態(型別)}}

public

class

person

public

person

(string name)

public

virtual

void

sayhello()

}public

class

chinese

:person

public

override

void

sayhello()

",this

.name);}

}public

class

japanese

:person

public

override

void

sayhello()

",this

.name);}

}public

class

korea

:person

public

override

void

sayhello()

",this

.name);}

}public

class

america

:person

public

override

void

sayhello()

",this

.name);}

}}

1)虛方法必須要有實現,哪怕是空實現

//空實現

public

virtual

void

sayhello()

2)子類可以不加override,即不重寫方法

C 學習筆記 多型(一)虛方法

在面對物件程式設計中,類的三大特性分別為封裝,繼承,多型。其中多型的具體實現,依賴於三個方法,也就是虛方法,抽象類和介面。多型的具體作用是什麼呢?或者說多型的存在有什麼意義呢?多型的存在有效的降低了程式的耦合度,在使用的時候,不僅可以表現大家都有的共性,還能在必要的時候突出一些特殊的的個性。那麼如何...

C 多型實現之虛方法

控制台應用程式中,新建乙個people類檔案,如下 using system using system.collections.generic using system.linq using system.text namespace 13多型 public string name 1.第一,將父類...

多型之虛方法

1.虛方法用到兩個關鍵字 virtual 和 override 當子類繼承與父類物件時,宣告乙個父類物件,通過在子類中重寫父類物件的方法,可以直接調到子類的方法 public class person set public person string name public virtual void...