【发布时间】:2021-08-11 19:25:52
【问题描述】:
在 C++ 或 Python 上,支持多重继承,因此您可以扩展多个类或抽象类。因此,如果您想制作类似接口的东西,您只需制作一个完整的抽象类即可。
在 Java 或 Kotlin 等语言中,不支持多重继承,但它们具有一个类可以多次实现的接口,以实现与此功能类似的功能。但是,在 Kotlin 或自 Java 8 以来,抽象类或接口之间没有太大区别,因为它们都可以有抽象方法和具体实现,所以我想知道什么时候使用每一个,主要是语言的原因是什么(特别是 Kotlin是更新的)以这种方式实现,而不是使用多重继承,如果你可以用后者实现同样的事情?
或者只是实现多重继承的另一种方式,或者抽象类和接口提供了多重继承所没有的东西,并且它会影响您在哪些情况下使用一个而不是另一个(接口优于抽象类)?
【问题讨论】:
标签: java kotlin interface abstract-class