zoukankan      html  css  js  c++  java
  • 类的继承派生

    一、什么是继承 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()

  • 相关阅读:
    js Image对象 及rollover效果
    精通javascript:元素的尺寸
    javascript 快捷操作
    精通javascript:获取位置
    javascript对象小问题
    javascript 获取元素的真实,最终的css样式
    MySQL索引
    精通javascript:元素的可见性
    javascript 图像预载入和如何判断图片是否加载完成
    ASP.NET Ajax的CalendarExtender控件被其它Div遮住问题
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12670524.html
Copyright © 2011-2022 走看看