面向对象的三大特性
Posted ddzc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的三大特性相关的知识,希望对你有一定的参考价值。
面向对象的三大特性
一、多态
- python是弱类型语言,不需要在变量的声明中明确变量的数据类型
- python没有多态,但又处处是多态。
- python有鸭子类型
- 看着是鸭子,就是鸭子
- 不同的类中存在相同的方法,这些方法的功能也类似,那么这些类就被称为鸭子(例如:字符串类、列表类、字典类等都具有index属性)
二、继承
- 继承分为单继承和多继承,多继承遵循的是从左往右的原则,左侧优先。
- python3中的继承原则采用的是广度优先原则,继承类都是新式类;python2采用的是深度优先,继承的都是经典类
- python3中的子类和派生类只能继承父类中的公有变量和方法,不能继承父类中的私有方法和私有动态变量、私有静态变量。
三、封装
- “封装”就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体(即类)
- 封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。
- 封装的好处
- 封装后外部的使用者只需要传递出响应的参数,就可以通过对象调用内部的数据和方法,而不需要知道内部的实现方式
- 封装后如果需要新的方法,可以在类中添加。
以上是关于面向对象的三大特性的主要内容,如果未能解决你的问题,请参考以下文章