zoukankan      html  css  js  c++  java
  • 面向对象-继承

    继承

      继承是两个对象直接产生的一种关系

      在OOP的程序中继承是描述类与类之间的一种关系

      a 继承 b

      继承的好处:a就可以之间使用b类中的属性和方法

      继承极大的提高了代码的重用性

      a称之为子类/派生类,b称为父类/基类

      抽象

        在使用继承的时候,一定是先抽象,在继承

        抽象是抽取一堆类共同拥有的内容,形成一个新的抽象概念(类也称之为共公基类)

      属性的查找顺序

      没有继承关系:对象 > 类

      存在继承关系:对象 > 对象的类 > 父类 > ... > object

      object

      是所有类的跟类,所有类都直接或间接的继承自object,在定义时没有手动继承任何类,会默认继承object,object中包含了所有对象的通用方法

      经典类与新式类

      新式类:只要是继承自object的都叫新式类

      在python3中所有类都是新式类

      python2中没有手动继承object的类都是经典类

    继承的常用方式之一

      可以继承一个系统已有的类,来扩展新功能

    派生

      当一个类继承另一个类,并存在与父类不同的内容时就称之为派生类

    覆盖

      在继承关系中,子类可以出现与父类完全相同的方法

      会优先使用子类中的方法

    子类重用父类的方法

      指名道姓的调用父类中的函数

      super().要访问的名字

    组合:一个对象把另一个对象作为属性

    python支持多继承

      一个类可以同时继承多个其他类

      好处:可以同时拥有多个类中已存在的内容

      坏处:如果父类中出现了重复的名字,执行顺序需要参考mro列表

      菱形继承

      新式类:广度优先

      经典类:深度优先

      

  • 相关阅读:
    ActiveMQ消息队列的使用及应用
    Spring的事务配置详解
    Spring容器与SpringMVC容器的区别与联系
    理解java的三大特性之多态
    构造方法是静态还是非静态?
    java 中类初始化,构造方法,静态成员变量,静态块的加载顺序
    window.onerror的总结
    git 合并分支到master
    swiper实现匀速无缝滚动
    针对vue中请求数据对象新添加的属性不能响应式的解决方法
  • 原文地址:https://www.cnblogs.com/LinChengcheng/p/10401233.html
Copyright © 2011-2022 走看看