我有一个问题。
我有两个抽象类A和B.B继承了A,所以我们现在可以拥有与类B中的类A中相同的抽象方法,而无需实现(无覆盖)。
条件:
1。在两个抽象类中应该具有相同的特征和签名
2.我们将继承B到C类,并在C类中实现。
3.没有方法隐藏
问候 克里希纳
public abstract class A
{
public void info();
}
public abstract class B:A
{
public void info();
}
public abstract class C:B
{
public void info()
{
// code
}
}
答案 0 :(得分:1)
假设您的问题在C#代码中,则可以进行以下操作:-
public abstract class A
{
public abstract void info();
}
public abstract class B:A
{
public override abstract void info();
}
public abstract class C:B
{
public override void info()
{
// code
}
}
但是,如果您从类B的override
中删除了info
关键字,则会导致编译时错误。
此外,您根本无法在B中完全定义该方法并在C中覆盖该方法,因为C的父级是B,而B的父级是A,因此C会自动访问A中的所有内容,除非它是私有的