标签:top padding orm break sub graph expand 之间 inline
I:继承是一种创建新类的方式,新建的类可称为子类或派生类,父类又可称为基类或超类,子类会遗传父类的属性 II:需要注意的是:python支持多继承 在Python中,新建的类可以继承一个或多个父类
class Parent1(object): # 父类
x=1111
?
class Parent2(object):# 父类
pass
?
class Sub1(Parent1): # 单继承
pass
?
class Sub2(Parent1,Parent2): # 多继承
pass
ps1: 在python2中有经典类与新式类之分 新式类:继承了object类的子类,以及该子类的子类子子类。。。 经典:没有继承object类的子类,以及该子类的子类子子类。。。
在python3中没有继承任何类,那么会默认继承object类,所以python3中所有的类都是新式类
III:python的多继承 优点:子类可以同时遗传多个父类的属性,最大限度地重用代码 缺点: 1、违背人的思维习惯:继承表达的是一种什么"是"什么的关系 2、代码可读性会变差 3、不建议使用多继承,有可能会引发可恶的菱形问题,扩展性变差, 如果真的涉及到一个子类不可避免地要重用多个父类的属性,应该使用Mixins
二、为何要用继承:用来解决类与类之间代码冗余问题
三、如何实现继承
class OldBoyPeople:
school = ‘上海校区‘
?
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
?
?
class student(OldBoyPeople):
def tell_info(self):
print(f‘学生姓名:{self.name}正在上课。‘)
?
?
class teacher(OldBoyPeople):
def __init__(self, name, age, gender, salary, level):
OldBoyPeople.__init__(self, name, age, gender)
self.salary = salary
self.level = level
?
def tell_info(self):
print(f‘老师:{self.name}的薪水是{self.salary}‘)
# 调用
teacher_obj = teacher(‘egon‘, ‘44‘, ‘male‘, ‘10000‘, 5)
teacher_obj.tell_info()
标签:top padding orm break sub graph expand 之间 inline
原文地址:https://www.cnblogs.com/bailongcaptain/p/12670524.html