# -*- coding: utf-8 -*-
'''多重继承'''
#类定义
class people:
#定义基本属性
name = ''
age = 0
__weight = 0
love = 'xiaoli'
def __init__(self,n,a,w):
self.name = n
self.age = a
# 定义私有属性,私有属性在类外部无法直接进行访问
self.__weight = w
self.love = 'xiaohong'
def speak(self):
print('%s 说: 我 %d 岁 %d公斤' % (self.name,self.age,self.__weight))
#单继承示例
class student(people):
grade = ''
def __init__(self,n,a,w,g):
#调用父类的构造
people.__init__(self,n,a,w)
self.grade = g
#覆写父类的方法
def speak(self):
print('%s 说: 我 %d 岁 ,我在读 %d 年级' % (self.name,self.age,self.grade))
#另一个类,多重继承之前的准备
class speaker():
topic = ''
name = ''
def __init__(self,n,t):
self.name = n
self.topic = t
def speak(self):
print('我叫 %s ,我是一个演说家,我本次演讲的主题是 %s ' % (self.name,self.topic))
# 多重继承
class sample(speaker,student):
a = ''
def __init__(self,n,a,w,g,t):
student.__init__(self,n,a,w,g)
speaker.__init__(self,n,t)
#实例化类
p = sample('lili',10,30,3,'Python')
p.speak() #方法名同,默认调用的是在括号中排前地父类的方法