python笔记(九) - 类 part2
在这一部分里演示一下类最重要的特征之一:继承。接着上一个部分的例子
class myClass:
count = 0
def __init__(self,name):
myClass.count+=1
self.name = name
def __del__(self):
myClass.count-=1
def sayHello(self):
print 'hello %s'%self.name
class myClass2(myClass):
def __init__(self,name):
myClass.__init__(self,name)
c = myClass('dhuang1')
c.sayHello()
print c.count
c2 = myClass2('student')
c2.sayHello()
print c2.count
count = 0
def __init__(self,name):
myClass.count+=1
self.name = name
def __del__(self):
myClass.count-=1
def sayHello(self):
print 'hello %s'%self.name
class myClass2(myClass):
def __init__(self,name):
myClass.__init__(self,name)
c = myClass('dhuang1')
c.sayHello()
print c.count
c2 = myClass2('student')
c2.sayHello()
print c2.count
将myClass放在新的类的名字的括号里面,这样就表达了一个 类的继承关系了。myClass2类继承了类myClass类的所以成员,包括全局变量,属性成员和方法。
唯一需要注意的是子类的__init__方法。如果想要访问父类的成员的话,你必须显式的调用父类的__init__访求,而且是用类的访问方式,还必须带上self参数。这个和前面说的有点不同。
当然你也可以不显式调用父类的__init__方法,这样也能使用子类调用父类的方法(只要你建立了它们的继承关系),但是这也意味着在父类的__init__方法中定义的类成员将不能在该方法中使用,因为它会抛出异常。