gpt4 book ai didi

java - Java 接口(interface)和 Python Mixin 之间的区别?

转载 作者:行者123 更新时间:2023-12-02 23:58:56 25 4
gpt4 key购买 nike

我一直在阅读有关Python-Mixin的内容,并了解到它为类添加了一些功能(方法)。同样,Java-Interfaces 也提供了类方法。

唯一的区别是,我可以看到 Java 接口(interface)是抽象方法,而 Python-Mixin 则带有实现。

还有其他区别吗?

最佳答案

嗯,“抽象方法”部分非常重要。

Java 是强类型的。通过在类型定义中指定接口(interface),您可以使用它们来构造新类型的签名。在类型定义之后,您已经 promise 这个新类型(或某个子类)最终将实现您指定的各种接口(interface)中定义的所有功能。

因此,接口(interface)实际上并没有向类添加任何方法,因为它不提供方法实现。它只是添加到类的签名/ promise 中。

然而,Python 不是强类型的。类型的“签名”并不重要,因为它只是在运行时检查您希望调用的方法是否确实存在。

因此,在 Python 中,mixin 确实是向类添加方法和功能。它根本不关心类型签名。

总结:

  • Java 接口(interface) -> 未添加函数,扩展了签名。
  • Python mixins -> 添加了函数,签名并不重要。

关于java - Java 接口(interface)和 Python Mixin 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143261/

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