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()
浙公网安备 33010602011771号