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()

  

原文地址:https://www.cnblogs.com/fczlm/p/14446382.html