码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-08-30 02:10:47      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:ocp   推荐   实现   结果   现象   语句   基类   python   修改   

  封装 enclosure 

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

  封装的目的:

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

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

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

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

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

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

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

继承 inheritance

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

  能拓展新的行为

继承的目的:

  延续旧类的功能

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

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

  例子请留意下一篇文章

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

标签:ocp   推荐   实现   结果   现象   语句   基类   python   修改   

原文地址:https://www.cnblogs.com/xinin0909/p/9557666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!