首页 > 其他分享 >类的继承

类的继承

时间:2023-05-13 20:15:27浏览次数:43  
标签:重写 调用 继承 子类 父类 方法

  • 多个类使用相同的方法和属性,应该把相同的方法抽象到父类中,减少代码的冗余
  • A类和B类需要调用相同的方法,创建C类,A和B继承C,A(C),B(C),A的对象和B的对象就可以直接调用C中的方法
  • A和B有相同的方法,一部分功能相同,还有不同的部分,创建父类C,把相同的部分放到C类的方法中,在A/B中保留不同的部分,然后分别在A/B中调用C类方法即可。
  • super().__init__继承属性,重写且需要在父类方法上加功能用super()
  • 多继承之间,广度优先原则
    • 横向,广度,纵向,深度
    • C3算法
    • 类名.mro()查看多继承的继承顺序
  • 在python3中,的所有所有类都是object的子类
    • 对于一些内置的方法会写在object类中,如果子类不定义,在调用的时候,最终会调object类的方法
    • 所有继承object类的都是新式类
    • 在python3中都是新式类
    • 在python2中不继承object类都是经典类
      • 在多继承中遵循深度优先
      • 经典类中没有super()和mro()方法
      • 多继承是Python的特性
  • 子类方法的继承、重写
    • 1.父类的非私有属性和非私有方法,子类可以直接继承,子类对象可以直接使用。如果子类要调用父类的私有属性和私有方法,只能通过间接的方法来获取。
    • 2.子类可以实现父类没有的属性和方法,与继承的属性和方法互不干扰。
    • 3.如果在子类中有跟父类同名的方法,但方法中执行的内容不同,则子类可以重写父类方法。
      • 当子类实现一个和父类同名的方法时,叫做重写父类方法。直接在子类中定义与父类同名的方法,然后在方法中实现子类的业务逻辑,子类方法就会覆盖父类的同名方法。子类重写了父类方法,子类再调用该方法将不会执行父类的方法。
    • 4.如果在子类重写父类的方法中,需要使用父类同名方法中的功能,在父类功能基础上做扩展,则子类可以在重写的方法中调用父类被重写的方法,使用super()来调用。
  •  

标签:重写,调用,继承,子类,父类,方法
From: https://www.cnblogs.com/leo3notblv/p/17398062.html

相关文章

  • 【C++】继承(上)
    @TOC1.继承的使用若有好多类,都有公共的特征,将类中的特性提取出来专门放在一个类中,这个类一般叫做基类或者父类public作为继承方式继承方式共有三种:publicprotectedprivateStuent类内部虽然没有实现name和age,但是它继承了person父类的name和age父类可以叫做基类,子类也可以......
  • 一文让你搞懂javascript如何实现继承
    一、本文想给你聊的东西包含一下几个方面:(仅限于es6之前的语法哈,因为es6里面class这关键字用上了。。)1.原型是啥?原型链是啥?2.继承的通用概念。3.Javascript实现继承的方式有哪些? 二、原型是啥?原型链是啥?1.原型是函数本身的prototype属性。首先js和java不一样,js顶多算是一个......
  • 继承 super
       ......
  • 【Java】Java 继承
    继承继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。<理解:继承就是子类继承父类的特征和行为,即子类从父类继承方法,使得子类具有父类相同的行为。> 示例: 父类packagecom.ext;publicclassDe......
  • 接口继承和抽象类继承区别以及普通类和抽象类做基类的区别
    接口继承和抽象类继承区别C#中接口和抽象类都可以用于实现继承,但是它们有一些重要的区别。接口是一种行为规范,它只规定了类应该包括哪些方法,但是没有提供任何实现细节,因此实现接口的类必须提供所有规定的方法实现;抽象类是一种半成品类,它可以包含实现代码以及其他抽象方法,子类必......
  • C++ | 类继承
    1.概述C++有3种继承方式:公有继承(public)、保护继承(protected)、私有继承(private)。一个B类继承于A类,或称从类A派生类B。这样的话,类A称为基类(父类),类B称为派生类(子类)。派生类中的成员,包含两部分:一部分是从基类继承过来的,另一类是派生类自己增加的成员。派生类继承基类,派生类拥有基......
  • 继承与派生
    一继承介绍继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类classParentClass1:#定义父类passclassParentClass2:#定义父类passclassSubClass1(ParentClass1):#单继承passcl......
  • 在 iframe 中继承父窗口 css/js 的方法
    问题缘由iframe属于一个单独的文档(单独的网页窗口)不能直接使用父页面的资源,如css和js。如果iframe和父页面同域则可以在iframe中使用parent对象来使用父页的js对象继承css因为iframe是单独的网页窗口,所以页面一般都有head标签的。在iframe子页面的head......
  • C#反射获子类所继承的父类中,属性的私有get/set方法
    这两天遇到个好玩的东西,过程是这样的:有这样的两个类,它们都被封装到同一个dll中。publicabstractclassMyClass{publicintMyProperty{get;privateset;}}publicclassMyChildClass:MyClass{publicintMyProperty2{......
  • 【继承类型:public、private、protected的区别】
    继承类型:public、private、protected的区别:当一个类派生自基类时,该基类可以通过公有(public)、私有(private)、保护(protected)三种方式被继承,实际应用中几乎不使用 protected 或 private 继承,通常使用 public 继承。继承语法: 继承规则:公有继承(public):当一个类派生自公有基......