C#基礎知識

2347 ワード


一、
C# 
// compile with: /target:library

public class D

{

    public virtual void DoWork(int i)

    {

        // Original implementation.

    }

}



public abstract class E : D

{

    public abstract override void DoWork(int i);

}



public class F : E

{

    public override void DoWork(int i)

    {

        // New implementation.

    }

}




虚メソッドを抽象メソッドとして宣言すると、抽象クラスから継承されたすべてのクラスに対して虚のままです.抽象メソッドを継承するクラスは、メソッドの元のインプリメンテーションにアクセスできません.前述の例では、クラスF上のDoWorkはクラスD上のDoWorkを呼び出すことができない.この場合、抽象クラスは、派生クラスを強制して虚メソッドに新しいメソッド実装を提供することができる.