继承的概念
- 复用父类的公开属性和方法
- 拓展出新的属性和方法
继承的实现
http://t.csdn.cn/81Jvs
父类的一个重写方法
- 方法重写(Override):子类的方法名称与父类相同
- 重写构造方法:
- super().__init__()
- 父类名.__init__(self)
-
class stu(Human): def __init__(self,name,age,school): #三种访问父类的属性 # super().__init__(name,age) # super(Human,self).__init__(name,age) Human.__init__(self,name,age) #实例化子类属性 self.school = school def eat(self): print('继续吃麻辣烫') def study(self): print(f'我在:{self.school}读书') class Tea(Human): def job(self): print('老师的指责是教导学生') Student = stu('shaoqiran',24,'tinhua') print(Student.school) print(Student.message) print(Student.study())
类型检查
- isinstance(实例,类名)
- 检查对象是否是某个类及其派生类的实例
-
class Human: #类属性 message = '人类都是要吃饭的' #构造函数 def __init__(self,name,age): self.name = name self.age = age #实例方法 def live(self): print('住在地球上') def age1(self): print(f'今年多少岁了{self.age}') class stu(Human): def eat(self): print('继续吃麻辣烫') class Tea(Human): def job(self): print('老师的指责是教导学生') Student = stu('hogwarts',11) print(Student.message) Student.live() Student.age1() #stu是human的子类所以返回值是True print(issubclass(stu,Human)) #Human是stu的父类所以返回值是False print(isinstance(stu,Human))
- issubclass(类名1,类名2)
- 检查类名1是否位类名2的实例