Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 在父类和子类中可以有相同的抽象方法吗_Oop_Inheritance_Abstract - Fatal编程技术网

Oop 在父类和子类中可以有相同的抽象方法吗

Oop 在父类和子类中可以有相同的抽象方法吗,oop,inheritance,abstract,Oop,Inheritance,Abstract,我有一个问题 I两个抽象类A和B。B继承了A,所以现在我们可以有相同的抽象方法,在类B中的类A中没有实现(没有覆盖) 条件: 1.它在两个抽象类中应具有相同的名称和签名 2.我们将B继承到C类,并在C类中实现它。 3.无方法隐藏 问候 克里希纳 公共抽象类A { 公共信息(); } 公开摘要B类:A { 公共信息(); } 公共抽象类C:B { 公开资料 { //代码 } } 假设你的问题是c代码,那么以下是可能的:- public abstract class A { public abs

我有一个问题

I两个抽象类A和B。B继承了A,所以现在我们可以有相同的抽象方法,在类B中的类A中没有实现(没有覆盖)

条件:

1.它在两个抽象类中应具有相同的名称和签名
2.我们将B继承到C类,并在C类中实现它。
3.无方法隐藏

问候 克里希纳

公共抽象类A
{
公共信息();
}
公开摘要B类:A
{
公共信息();
}
公共抽象类C:B
{
公开资料
{
//代码
}
}

假设你的问题是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中的
info
中删除
override
关键字,则这是一个编译时错误


此外,您也不能在B中定义方法并在C中重写它,因为C的父对象是B,B的父对象是A,所以C自动访问A中的所有内容,除非其私有属性

问题是什么?@DorShinar文章标题就是问题所在