python中类的一些方法分析
本文实例分析了python中类的一些方法,分享给大家供大家参考。具体分析如下:
先来看看下面这段代码:
class Super: def delegate(self): self.action() class Provider(Super): def action(self): print 'in Provider.action' x = Provider() x.delegate()
本文实例运行环境为Python2.7.6
运行结果如下:
in Provider.action
在Super类中定义delegate()方法,delegate中调用self.action,在Provider子类中实现action方法。子类调用父类的delegate方法时,实际是调用自己的action方法。。
总之一句话:
这里子类实现了父类delegate中所期望的action方法
再来看看下面这段代码:
class Super: def delegate(self): self.action() def method(self): print 'super method' class Inherit(Super): pass class Replace(Super): def method(self): print "replace method" class Extended(Super): def method(self): print 'in extended class' Super.method(self) print 'out extended class' class Provider(Super): def action(self): print 'in Provider.action' x = Inherit() x.method() print '*'*50 y = Replace() y.method() print '*'*50 z = Extended() z.method() print '*'*50 x = Provider() x.delegate()
运行结果如下:
super method ************************************************** replace method ************************************************** in extended class super method out extended class ************************************************** in Provider.action
分别继承父类的方法,替换父类的方法,扩展了父类的方法
Super类定义了delegate方法并期待子类实现action函数,Provider子类实现了action方法.
相信本文所述对大家Python程序设计的学习有一定的借鉴价值。
相关文章
Python3自动生成MySQL数据字典的markdown文本的实现
这篇文章主要介绍了Python3自动生成MySQL数据字典的markdown文本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05独立进程使用django模型及django.setup()使用
这篇文章主要介绍了独立进程使用django模型(django.setup()使用),它提供了一种简单且高效的方式来利用Django强大的功能,并使你的代码更易于维护和扩展,需要的朋友可以参考下2023-07-07
最新评论