demo01.py 单继承
# 继承:一个类获取另外一个类的属性和方法的过程
#人类:属性 name,age,sex 方法:say() sleep()
#学生:属性 name,age,sex 方法:say() sleep() study()
class people: #父亲
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
def say(self):
print('我是一份')
def sleep(self):
print('我是人类')
class student(people): # 继承于people
# 父类有构造方法的话,那子类必须实现构造方法
def __init__(self,name,age,sex,student):
# 方法一 调用父类的构造方法
#people.__init__(self,name,age,sex)
# 方法2,使用supper,这种方式需要传self
# supper().__init__(name,age,sex)
# 方法3,使用supper,此时super中的第一个参数是子类名称
super(student,self).__init__(name,age,sex,)
self.studentid = studentid
def study(self):
print('我是一个学生')
def sleep(self):
print('我想睡觉')
def __driver__(self):
print('e nnj ')
test = student('张三',18,'男',1)
test.say()
test.study()
demo02.py 多继承
# 多继承 : 一个子类有多个父类
# 人类--老师 --司机
class people:
def __init__(self,name):
self.name = name
def say(self):
print('嗯文件')
def sleep(self):
print('想睡觉')
class teacher:
def __init__(self,coursename):
self.coursename = coursename
def say(self):
print('我是老师')
def play(self):
print('打球')
#老师兼职晚上在跑滴滴
class driver(people,teacher):# 多继承,假如父类中有同名的
# 实现多个父类的构造方法
def __init__(self,name,coursename,drivingyears):
people.__init__(self,name)
teacher.__init__(self,coursename)
self.drivingyears = drivingyears
def say(self):
print('我是兼职的司机,白天是一名老师')