类 - 继承

来源:互联网 发布:河头店农村淘宝地址 编辑:程序博客网 时间:2024/05/21 09:17
继承
#!/usr/bin/env python


import os


class Res:
    def __init__( self, _type ):
        self._type = _type
    def restart( self ):
        os.system( "mkdir -p /tmp/power7_test" )


class Restart( Res ):
    def __init__( self, _type ):
        Res.__init__( self, _type )
        # 上面的这个调用父类被覆盖的函数还可以使用下面的方法:
        # super( Restart, self ).__init__()
        # 这个好处是不用指出父类的名字,这样若父类的名字变了或改动了继承关系,那子类中这里不用在做什么改动。
    def restart( self ):
        cmd = 'mkdir -p /tmp/' + self._type + "_test"
        print "restart : ", cmd
        os.system( cmd )


if __name__ == "__main__":
    arm = Restart( "power7" )
    arm.restart()
    
组合
类之间有显著不同,且较小的类是较大的类所需的组件时,组合很适合。
class A( object ):
def __init__( self, nm, ph ):
self.name = Name( nm )# 创建 Name 的实例
self.phone = Phone( ph )# 创建 Phone 的实例

派生
其好处是:能够使用一个已经定义好的类,扩展它或对其进行修改,而不会影响系统中使用现存类的其他代码片段
如何类没有从任何祖先类派生,可以使用 object 作为父类的名字。
class Parent( object ):
def parentMethod( self ):
print 'parent'

class Child( Parent ):
def childMethod( self ):
print 'child'
p = Parent()
p.parentMethod() # parent
c = Child()
c.childMethod() # child
c.parentMethod() # parent
0 0
原创粉丝点击