面向对象 - 继承性

# cheer_xiong
# (`・ω・´) python# IDE:就是用啥软件开发# 继承
"""
就是新建类的一种方式,继承了一个类,类中的属性和方法就在子类中
父类/基类
子类/派生类
新式类 : 只要继承了object类,就是新式类,在py3中,默认都继承object类在py2中,需要显示指定继承object
经典类 : 没有继承object类,就是经典类py3中没有经典类py2中才有
继承介绍:如何使用继承class 类名(父类)pass新式类和经典类利用继承减少代码冗余# 相同属性可以定义一个父类用来给其他子类调用,减少代码行数# 并且调用还是和之前一样重用父类查找方式一:涉及到属性查找顺序 先找对象,对象没有去类中,找不到去父类,找不到就报错但是涉及到多个父类继承,这个就引出以下|重用父类查找方式二:类实例化就会自动调用__init__,如果没有,就去父类中找多层继承:class A:a = 'aaa'class B(A):a = 'bbb'class C(B):a = 'ccc'class D():pass# 往上一集查找多继承:class A:a = 'aaa'class B:a = 'bbb'class C:a = 'ccc'class D(A,B,C):pass# A->B->C 根据从左到右找# 继承的菱形问题:新式类和经典类是不一样的*必须都继承一个类,并且不是object类,构成一个菱形*新式类:广度优先,最后一个先不找,去找其他的,最后找最后一个经典类:深度优先,一条道找到底# mro 列表,继承顺序查找列表(只在新式类中有)print(类名.mro())print(类名.__mro__)   # 相同重用父类方法的第一种方式:第一种方法和定义父类没有多大关系,因为定不定一都可以使用 指名道姓 的方式调用和继承没有关系class A:def __init__(self, name, age):self.name = nameself.age = ageclass B:def __init__(self, name, age, price):A.__init__(self, name, age)self.price = priceb = B('xc', 18, 100)print(b.name)print(b.age)重用父类方法的第二种方式:使用super(),需要继承父类才能调用父类的元素,还有一点就是super是严格按照 mro 来找元素了。class A:def __init__(self, name, age):self.name = nameself.age = ageclass B(A):def __init__(self, name, age, price):super().__init__(name, age)self.price = priceb = B('xc', 18, 100)print(b.name)print(b.age)"""

转载于:https://www.cnblogs.com/xiongchao0823/p/11418908.html

面向对象 - 继承性相关推荐

  1. 【获奖榜单公布】遇见27岁的Java,分享你的开发者故事

    征文活动官网:https://marketing.csdn.net/p/264aeefaf27a0e052b3f2ef8ab388dc4 1995 年 5 月 23 日,Java 诞生. 凭借着&qu ...

  2. 第2课第3节_Java面向对象编程_继承性_P【学习笔记】

    摘要:韦东山android视频学习笔记  面向对象程序的三大特性之继承性:继承性的主要作用就是复用代码.继承性也有一定的限制,如图一 图一 1.我们在第2课第2节_Java面向对象编程_封装性_P 中 ...

  3. JAVA学习--面向对象的特征二:继承性

    * 一.面向对象的特征二:继承性 * 1.为什么要设计继承性?  *  * 2.通过"class A extends B"类实现类的继承.  *   子类:A  父类(或基类 Su ...

  4. 面向对象的特点,封装性,继承性,多态性!

    1.面向对象程序设计有三大特点,分别是封装,继承,多态,接下来就介绍一下这三个特点,积累一下. 2.封装,封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是 ...

  5. php 继承性,php面向对象全攻略 (七) 继承性_php基础

    //定义一个"人"类做为父类 class Student{ //下面是人的成员属性 var $name; //人的名子 var $sex; //人的性别 var $age; //人 ...

  6. 面向对象的特征二 继承性

    有相同的属性和方法都可以提取出来, 就形成了一个公共的部分,公共的部分形成一个类,其他类有一样的属性和方法的时候 不用在自己类里面在写出来,直接就公共的类中调用即可. 总结,造一个公共类,里面的属性和 ...

  7. Python基础学习——面向对象编程(第一讲:面向对象概述、面向对象三个基本特征(封装性、继承性、多态性)、类和对象(定义类、创建和使用对象、实例变量、类变量、构造方法、实例方法、类方法、静态方法))

    面向对象是Python最重要的特性,在Python中一切数据类型都是面向对象的. 1.面向对象概述 面向对象的编程思想是,按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建软件系 ...

  8. 面向对象:封装性,继承性,多态性

    面向对象是一种符合人类思维习惯的编程思想.现实生活中存在各种形态的事物,这些事物之间存在各种各样的联系.在程序中使用对象映射现实中的事物,使用对象的关系描述事物之间的联系,这种思想就是面向对象. 文章 ...

  9. 面向对象三大特征——extends继承性

    面向对象的特征之二:继承性 一.继承性的好处: 1.1.减少了代码的冗余,提高了代码的复用性: 1.2.便于功能的扩展: 1.3.为之后多态性的使用,提供了前提. 二.继承性的格式: 2.1.clas ...

最新文章

  1. oauth2 单点登录_Spring Security Oauth2和Spring Boot实现单点登录
  2. vmware虚拟机redhat7.2下docker容器安装hadoop
  3. distribution cleanup job2
  4. 递归方程组解的渐进阶的求法——代入法
  5. 2017-06-02 前端日报
  6. DDK build的时候C2220警告当错误处理
  7. IntelliJ IDEA安装AngularJS插件
  8. linux lsof命令语法
  9. 阶段3 2.Spring_07.银行转账案例_1 今日课程内容介绍
  10. 清空上传控件HtmlInputFile的方法
  11. vs2010 sp1 安装错误,重新安装错误
  12. excel文件损坏修复绝招_修复数据工具大盘点,让你快速掌握电脑数据恢复的秘密武器...
  13. 【四二学堂】基于unicloud的跨平台项目-华夏画苑APP
  14. Linux安装flux护眼软件
  15. 祖国(或以梦为马) 海子
  16. Amazon SES 邮件发送服务
  17. golang 使用 gomobile进行 Android 开发
  18. Web前端,CSS中盒子模型的组成,了解掌握盒子模型的边框、内边距、外边距
  19. 代码整洁之道 Clean Code 读书笔记
  20. vue-quill-editor富文本编辑器自定义上传图片功能

热门文章

  1. 心得体悟帖---17、于迷茫低落处找到本心
  2. Dynamics CRM中的操作(action)是否是一个事务(transaction)?
  3. synchronized关键字原理
  4. Caffe---Pycaffe进行网络结构(xxx.prototxt)可视化
  5. HTTP 错误 404.15 - Not Found请求筛选模块被配置为拒绝包含的查询字符串过长的请求...
  6. AppController
  7. DescriptionAttribute Class
  8. 图片Alpha预乘的作用[转]
  9. Web-Lesson07-JS的函数及作用域
  10. fem求解二维时谐电磁场问题