在另一个具有相同函数名的抽象类中继承抽象类
本文关键字:抽象类 继承 函数 另一个 | 更新日期: 2023-09-27 18:01:06
我有两个抽象类AbstractClass1
和AbstractClass2
,它们都应该具有相同的方法名Meth1
。
现在,如果我的AbstractClass1
继承自AbstractClass2
,该怎么办。目前,它向我抛出了一个编译时错误"Hides Inherited Abstract Member"
。下面是我的代码。
abstract class AbstractClass1 : AbstractClass2
{
public abstract string Meth1();
}
abstract class AbstractClass2
{
public abstract string Meth1();
}
您可以在派生类方法上使用abstract override
来避免编译时错误。
abstract class BaseAbstract
{
public abstract string Meth1();
}
abstract class ChildAbstract : BaseAbstract
{
public abstract override string Meth1();
}
但是请注意这不是使用abstract override
的合适位置。通常在从非抽象类派生抽象类时使用抽象重写。以确保派生类实现该方法。(见此(
看看下面的代码
class BaseNonAbstract
{
public virtual string Meth1()
{
// do something
return string.Empty;
}
}
abstract class ChildAbstract : BaseNonAbstract
{
public abstract override string Meth1();
}
试试这个
abstract class AbstractClass1 : AbstractClass2
{
}
abstract class AbstractClass2
{
public abstract string Meth1();
}