zoukankan      html  css  js  c++  java
  • Python面向对象的三大特点:封装,继承和多态

      封装 enclosure 

      封装是指隐藏类的实现细节,方便其他人的调用。

      封装的目的:

      让使用者可以通过间接调用方法或属性操作对象。

      所以Python使用封装时,必会使用私有属性和方法。

    私有属性和方法:
      以‘__’双下划线开头,不以双下滑线结尾的表示符为私有成员,
      私有成员只能使用该类的方法,来进行访问和修改
        1. 以__开头的属性为私有属性  如__vol
        2. 以__开头的方法为私有方法  如__vol()

      注:python封装是假的封装(模拟的封装)

      比如通过dir查看属性就可以发现,其实私有属性被变成了_class__xx,所以才无法访问

    多态 polymocphic
      字面意思:‘多种状态’
      多态是指在有继承/派生关系的类中,调用基类对象的方法,实际能调用子类的覆盖方法的现象叫多态

      状态:
        静态(编译时状态)
        动态(运行时状态)
      说明:
        1,多态调用的方法与对象相关,不与类型相关
        2,Python全部对象都只有“运行时状态(动态)”
        没有C++语言里的编译时状态(静态)

    继承 inheritance

      继承是从已有的类中派生出新的类,新类具有原类的数据属性和行为,并

      能拓展新的行为

    继承的目的:

      延续旧类的功能

    单继承
      语法:
      class 类名(基类名):
        语句块
      说明:
        单继承是指派生类由一个基类衍生出来的新类

    多继承 multiple inheritance
        多继承是指一个子类继承自两个或两个以上的基类
        语法:
          class 类名(基类名1,基类名2,...)
        说明:
          一个子类同时继承自多个父亲,父类的方法可以同时被继承下来
          如果两个父亲中有同名的方法,而在子类中又没有覆盖此方法时,调用
          结果难以确定
      多继承的问题(缺陷)
        标识符冲突问题
      (一般不推荐使用多继承)

      例子请留意下一篇文章https://www.cnblogs.com/xinin0909/p/9575405.html ,欢迎留言交流共同进步

  • 相关阅读:
    英语46级CET外语大学词汇
    TOEFL词汇笔记英语托福英语
    19道常见的JS面试算法题
    Vue.js---指令与事件、语法糖
    Qt--多线程间的互斥
    const关键字总结
    Numpy和Pandas的使用入门
    python爬虫爬取天气数据并图形化显示
    JCEF-鼠标右键菜单
    JCEF-tab形式展示浏览器
  • 原文地址:https://www.cnblogs.com/xinin0909/p/9557666.html
Copyright © 2011-2022 走看看