为了账号安全,请及时绑定邮箱和手机立即绑定

请教一下, 抽象基类

python的抽象基类和java的abstact class和interface的区别是什么

正在回答

1 回答

java的继承模式是只能继承一个类,但是可以继承多个接口。这个是为了代码重用和设计便于理解。

python的抽象基类在很多程度上并不是为了解决这个问题,python的抽象基类最重要的是为了实现类别的判断以及强制实现某些方法,从概念上来讲听起来好像差不多,但实际上你对python的抽象基类了解以后,也会发现在python中判断某个类型的类别实际上还是去判断某个类是否有某个具体的方法,所以本质上python是基于协议的一种语言,也就是方法名称更重要, 抽象基类只不过是是的判断某个类具有哪些方法名用起来更方便而已。所以你可以发现你如果某个类中实现了某个方法, 如果这个方法正好和某个抽象类的方法名一致,你即使不继承这个抽象基类你也会判断到你当前的类是基类的实例,所以抽象基类并不是很重要,方法名是最重要的

但是java的类型则是严格的继承关系,最多是可以动态的将某个子类赋给父类而已


7 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请教一下, 抽象基类

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信