类的多重继承

多重继承也就是子类可以继承多个父类,但如果要继承父类的__init__方法,多重继承最多只能继承其中一个父类的__init__方法

如下,我们定义两个父类 Talking 和 Thinking,然后用 People 这个子类去继承两个父类:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

class Talking(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def talking(self):
        print('My name is %s' % self.name)
        print('My age is %s' % self.age)
        print('I am talking...')


class Thinking(object):
    def __init__(self, name2, age2):
        self.name2 = name2
        self.age2 = age2

    def thinking(self):
        print('My name is %s' % self.name2)
        print('My age is %s' % self.age2)
        print('I am thinking...')
        

class People(Talking, Thinking):    
    def __init__(self):                      # 这里我们定义__init__方法,明确指定继承哪个父类的__init__方法
        Talking.__init__(self, 'Tom', 23)    # 如果没有定义__init__方法,则默认继承第一个父类的__init__方法


if __name__ == '__main__':
    cn = People()
    cn.talking()

    

原文地址:https://www.cnblogs.com/pzk7788/p/10279926.html