#!/usr/local/bin/python3 # -*- coding:utf-8 -*- # class People: #经典类 class People(object): #新式类,此处的object是基类,People继承object def __init__(self, name, age): self.name = name self.age = age self.makeFriends = [] def eat(self): print("%s is eating..." % self.name) def sleep(self): print("%s is sleeping..." % self.name) def talk(self): print("%s is talking..." % self.name) class Relation(object): def make_friends(self, obj): print("%s is making friends with %s" % (self.name, obj.name)) self.makeFriends.append(obj) class Man(People, Relation): # 多继承父类People, Relation def __init__(self, name, age, money): # 子类中添加新的属性 # 经典类写法:People.__init__(self, name, age) super(Man, self).__init__(name, age) # 注意:此处要先调用父类的__init__方法 self.money = money print("%s 一出生就有%s money" % (self.name, self.money) ) def piao(self): print("%s is piaoing..20h...down" % self.name) def sleep(self): # 重构父类方法 super(Man, self).sleep() # 先加载父类的方法,等同与 People.sleep(self) print("wo is sleeping...") # 然后添加新功能 class Woman(People, Relation): # 多继承父类People, Relation def birth(self): print("%s is born a baby..." % self.name) m1 = Man("zhangyu", 25, 10) # m1.eat() # m1.piao() # m1.sleep() w1 = Woman("mahongyan", 25) # w1.birth() m1.make_friends(w1) print(m1.makeFriends[0].name)