继承
Python 同样支持类的继承,如果一种语言不支持继承,类就没有什么意义。派生类的定义如下所示:
classDerivedClassName(BaseClassName): <statement-1> . . . <statement-N>
子类(派生类 DerivedClassName)会继承父类(基类 BaseClassName)的属性和方法。
BaseClassName(实例中的基类名)必须与派生类定义在一个作用域内。除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用:
classDerivedClassName(modname.BaseClassName):
实例(Python 3.0+)
#!/usr/bin/python3#类定义classpeople: #定义基本属性 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 #定义构造方法 def__init__(self,n,a,w): self.name = n self.age = a self.__weight = w defspeak(self): print("%s 说: 我 %d 岁。" %(self.name,self.age))#单继承示例classstudent(people): grade = '' def__init__(self,n,a,w,g): #调用父类的构函 people.__init__(self,n,a,w) self.grade = g #覆写父类的方法 defspeak(self): print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade)) s = student('ken',10,60,3)s.speak()
执行以上程序输出结果为:
ken 说:我10岁了,我在读3年级