摘要派生类没有抽象方法实现

use*_*592 3 c# abstract-class

假设我有一个班级:

public abstract class BaseClass
{
   internal abstract void Add(int i , int j);
}
Run Code Online (Sandbox Code Playgroud)

儿童班如下:

public class Child : BaseClass
{

}
Run Code Online (Sandbox Code Playgroud)

因为我从BaseClass 继承Child类,我应该Add()在其中实现方法,但我不想在这里实现Add方法是否可能?如果可能,我该如何实现?

提前致谢

Age*_*ire 5

如果您不想实现该方法,则可以执行以下操作:

  1. 标记Child为抽象:

    public abstract class Child : BaseClass { }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 或者,将方法设为虚拟:

    public abstract class BaseClass 
    {
        internal virtual void Add(int i , int j) { }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 或者,覆盖该方法并使其成为虚拟:

    public abstract class Child : BaseClass
    {
        // Empty method does nothing; also could be overridden.
        internal override void Add(int i , int j) { } 
    }
    
    Run Code Online (Sandbox Code Playgroud)