python 继承学习记录
1.简介
面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
2.实践
继承的定义
编写一个类Person
class Person: def __init__(self,name,age): self.name=name self.age=age def walk(self): print ("I can walk.") if __name__=="__main__": p=Person("XiaoMing",10) name=p.name age=p.age print("My name is %s"%name+" I'm %s"%str(age)+" years old") p.walk()
编写一个Chinese类继承Person
from person import Person class Chinese(Person): def talk(self): print("I can talk") if __name__=="__main__": c=Chinese("xiaoxiao",10) print("My name is %s" % c.name + " I'm %s" % str(c.age) + " years old") c.walk() c.talk()
构造函数的继承
1.经典类的写法: 父类名称.__init__(self,参数1,参数2,...)
2. 新式类的写法:super(子类,self).__init__(参数1,参数2,....)
from person import Person class Chinese(Person): def __init__(self,name,age,language): Person.__init__(self,name,age)#继承父类的构造方法,也可以写成:super(Chinese,self).__init__(name,age) self.language=language def talk(self): print("I can talk") if __name__=="__main__": c=Chinese("xiaoxiao",10,"Chinese") print("My name is %s" % c.name + " I'm %s" % str(c.age) + " years old "+"I speak %s"%c.language ) c.walk() c.talk()