没有抽象方法实现的抽象派生类

4

Assume I have a class as:

public abstract class BaseClass
{
   internal abstract void Add(int i , int j);
}

一个子类如下:

public class Child : BaseClass
{

}

作为我从BaseClass继承的Child类,我应该在其中实现Add()方法。但是我不想在这里实现Add方法,这可能吗?如果可能,我该如何实现呢?
提前感谢。

2
Child 是否应该是 抽象的(abstract) - Rawling
3
为什么不将 add 方法改为虚方法而不是抽象方法? - reptildarat
1
如果你不实现 Add 方法,那么 Child 类也必须被标记为抽象类。 - vc 74
@reptildarat 我希望它是抽象的。 - user2176592
5
我闻到 XY 的味道:你想达到什么目的? - Alex
显示剩余7条评论
2个回答

5
如果您不想实现这个方法,可以采取以下措施:
  1. Mark Child as abstract too:

    public abstract class Child : BaseClass { }
    
  2. Or, make the method virtual:

    public abstract class BaseClass 
    {
        internal virtual void Add(int i , int j) { }
    }
    
  3. Or, override the method and make it virtual:

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

谢谢你的回答 :) - user2176592
@user2176592,您能否将问题标记为已回答? - AgentFire

4

如果您不想在子类中实现Add函数,那么您也需要将Child类声明为抽象类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接