如果基类和子类实现了相同的接口,并且在基类中提供了抽象方法的方法实现,那么我们是否也必须在子类中提供实现呢?
答案 0 :(得分:1)
是的,你可以,并且当你有初始化范例时,子类的实现会执行
BaseClass v = new SubClass();
这是非常正常的多态性/ ovveriding。
答案 1 :(得分:1)
我们是否必须在子类中提供实现
不,你没有必须这样做。如果另一个类extends
,则它已经在父类中声明了所有(public
和protected
)方法。
但可以提供此方法的不同实现。在这种情况下,将覆盖父类的方法。
答案 2 :(得分:1)
不需要在父类和子类中实现相同的接口,因为如果您在父类中实现它,那么child也将具有相同的方法,但是如果要覆盖,则可以覆盖它。
public class Rhombus extends Parallelogram {
public static void main(String args[0]) {
Rhombus rhombus = new Rhombus();
rhombus.draw();
}
}
//输出 这个平行四边形是正方形
string input = "{ \"errors\": { \"title\": [\"can't be blank\"] }}";
JObject json = JObject.Parse(input);
foreach (var item in json)
{
Console.WriteLine($"{item.Key} _ {item.Value}");
}
//输出 这是平行四边形
答案 3 :(得分:0)
它不应该是必需的,因为子类已经在基类
中具有方法实现