当前位置: 移动技术网 > IT编程>脚本编程>Python > python中类的一些方法分析

python中类的一些方法分析

2019年03月26日  | 移动技术网IT编程  | 我要评论
本文实例分析了python中类的一些方法,分享给大家供大家参考。具体分析如下: 先来看看下面这段代码: class super: def delegat

本文实例分析了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程序设计的学习有一定的借鉴价值。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网