我已经阅读Python-Mixin
并了解到它为类增加了一些功能(方法)。同样,Java-Interfaces
还提供类的方法。
我可以看到的唯一区别是它们Java-interfaces
是抽象方法并Python-Mixin
带有实现。
还有其他区别吗?
好吧,“抽象方法”部分非常重要。
Java是强类型的。通过在类型定义中指定接口,可以使用它们来构造新类型的签名。在类型定义之后,您已承诺此新类型(或某些子类)最终将实现在您指定的各种接口中定义的所有功能。
因此,接口不会真正向类添加任何方法,因为它不提供方法实现。它只是增加了类的签名/承诺。
但是,Python不是强类型的。类型的“签名”并不重要,因为它仅在运行时检查您要调用的方法是否确实存在。
因此,在Python中,mixin确实是关于向类添加方法和功能的。它根本与类型签名无关。
综上所述:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句