Python面向对象详解( 三 )


文章插图
 
 

  • 方法名:__str__
  • 返回值:字符串
  • 内容:自行定义
__lt__ 小于符号比较方法 
Python面向对象详解

文章插图
 
直接对2个对象进行比较是不可以的,但是在类中实现__lt__方法,即可同时完成:小于符号 和 大于符号 2种比较
Python面向对象详解

文章插图
 
__le__ 小于等于比较符号方法
魔术方法:__le__可用于:<=、>=两种比较运算符上 。
Python面向对象详解

文章插图
 
__eq__,比较运算符实现方法
Python面向对象详解

文章插图
 
不实现__eq__方法,对象之间可以比较,但是是比较内存地址,也即是:不同对象==比较一定是False结果 。
实现了__eq__方法,就可以按照自己的想法来决定2个对象是否相等了 。
六、封装面向对象的三大特性
面向对象编程,是许多编程语言都支持的一种编程思想 。
简单理解是:基于模板(类)去创建实体(对象),使用对象完成功能开发 。
面向对象包含3大主要特性:
 
  • 封装
  • 继承
  • 多态
封装 
封装表示的是,将现实世界事物的:
 
  • 属性
  • 行为
 
封装到类中,描述为:
 
  • 成员变量
  • 成员方法
 
Python面向对象详解

文章插图
 
从而完成程序对现实世界事物的描述 。
对用户隐藏的属性和行为
现实世界中的事物,有属性和行为 。
但是不代表这些属性和行为都是开放给用户使用的 。
Python面向对象详解

文章插图
 
苹果越狱、Android/ target=_blank class=infotextkey>安卓root,也是为了突破权限使用这些对用户隐藏的属性和行为 。
私有成员
既然现实事物有不公开的属性和行为,那么作为现实事物在程序中映射的类,也应该支持 。
类中提供了私有成员的形式来支持 。
 
  • 私有成员变量
  • 私有成员方法
 
定义私有成员的方式非常简单,只需要:
 
  • 私有成员变量:变量名以__开头(2个下划线)
  • 私有成员方法:方法名以__开头(2个下划线)
 
Python面向对象详解

文章插图
 
即可完成私有成员的设置
使用私有成员
Python面向对象详解

文章插图
 
私有成员无法被类对象使用,但是可以被其它的成员使用 。
Python面向对象详解

文章插图
 
七、继承继承的引出
Python面向对象详解

文章插图
 


推荐阅读