为什么python没有interface
对于熟悉Java中interface应用的开发者来说,原因明确不过,对于不熟悉Java的python开发者,可能会在了解interface后,很好奇,为什么python没有interface。
很重要的一个原因是,Java是静态类型语言,每一个函数的输入参数,需要定义参数类型。如果在一个主函数中,传入的参数是一个具体的类的类型,那么,当函数增加传入参数类型的时候,需要对该函数做修改,或者copy-paste一个同样的函数来适配新增的参数类型。而接口可以在此处完成抽象。
python本身对于传入的类型没有限制,依赖于参数自身的实现。所以,新增的参数类型,只要自动实现了相应的接口,主函数就可以执行。所以python拥有interface并不能带来效益,反而会增加语法复杂度。
本文探讨了Python无需interface的原因。由于Python的动态类型特性,参数类型可在运行时确定,因此新增参数类型无需修改现有代码,这与Java等静态类型语言形成对比。在Python中,只要新增类型实现了所需的功能,即可无缝融入现有代码,避免了引入interface可能带来的语法复杂度。
539

被折叠的 条评论
为什么被折叠?



