1. 程式人生 > >C#中virtual abstract和override的用法

C#中virtual abstract和override的用法

virtual是把一個方法宣告為虛方法,使派生類可重寫此方法,一般建立的方法是不能夠重寫的,譬如類A中有個方法
protected void method(){
原始碼….;
}
類B繼承自類A,類B能夠呼叫類A的method()方法,但不能更改方法體程式碼,但當類A中使用了virtual宣告此方法: protected virtual void method(),那麼類B可通過使用override重寫此方法
protected override void method(){
新程式碼….;
}
virtual可在基類、抽象類中使用
而使用abstract宣告的方法,為抽象方法,抽象方法沒有程式碼體,只有一個方法名的宣告:
protected abstract void method();
當使用abstract宣告的方法,其派生類必須要重寫此方法,如上面一句為抽象類A中宣告的,類B繼承自抽象類A,那麼類B中必須要使用override重寫此方法
protected override void method(){
新程式碼….;
}
但abstract只能在抽象類中使用
override就是派生類重寫父類方法(包括虛方法、抽象方法,介面方法)時的關鍵字,反正你要重寫方法,就使用override宣告