gpt4 book ai didi

scala - 为什么父类允许子类将父类的方法作为子类中的抽象方法?

转载 作者:行者123 更新时间:2023-12-02 03:00:31 26 4
gpt4 key购买 nike

class Parent 
{
def m1()
{
System.out.println("m1 method");
}
}

abstract class Child extends Parent
{
def m1()
}

以上代码编译成功,我的问题是:

为什么Parent类允许Child类将m1()方法做成抽象方法?

我们会在哪里使用这种场景?

最佳答案

现在您可能想要创建父类的多个变体。现在父类是一个具体的类,很难实现。因为您可以尝试将父级抽象化,然后提供实现。但是,如果在您的大型代码库的多个地方使用了具体类,您别无选择,只能按如下方式进行。

因此策略是创建抽象子对象,如下所示

abstract class Child extends Parent
{
def m1()
}

class SpecialChild extends Child {
//.. some implementation of m1
}

现在我们仍然可以使用原来的 child

child = new SpecialChild();

希望这是有道理的。

关于scala - 为什么父类允许子类将父类的方法作为子类中的抽象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46410724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com