Python面向对象的三大特点:封装,继承和多态

Posted 星喑0909

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面向对象的三大特点:封装,继承和多态相关的知识,希望对你有一定的参考价值。

  封装 enclosure 

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

  封装的目的:

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

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

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

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

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

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

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

继承 inheritance

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

  能拓展新的行为

继承的目的:

  延续旧类的功能

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

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

  例子请留意下一篇文章

以上是关于Python面向对象的三大特点:封装,继承和多态的主要内容,如果未能解决你的问题,请参考以下文章

python入门到精通python面向对象三大特点:封装,继承,多态

python入门到精通python面向对象三大特点:封装,继承,多态

PHP面向对象三大特点学习(充分理解抽象封装继承多态)

面向对象编程三大特性-封装、继承、多态

php 面向对象三大特点:封装继承多态

php 面向对象三大特点:封装继承多态