面向对象的三大特性

Posted ddzc

tags:

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

面向对象的三大特性

一、多态

  • python是弱类型语言,不需要在变量的声明中明确变量的数据类型
  • python没有多态,但又处处是多态。
  • python有鸭子类型
    • 看着是鸭子,就是鸭子
    • 不同的类中存在相同的方法,这些方法的功能也类似,那么这些类就被称为鸭子(例如:字符串类、列表类、字典类等都具有index属性)

二、继承

  • 继承分为单继承和多继承,多继承遵循的是从左往右的原则,左侧优先。
  • python3中的继承原则采用的是广度优先原则,继承类都是新式类;python2采用的是深度优先,继承的都是经典类
  • python3中的子类和派生类只能继承父类中的公有变量和方法,不能继承父类中的私有方法和私有动态变量、私有静态变量。

三、封装

  • 封装”就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体(即类)
  • 封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。
  • 封装的好处
    • 封装后外部的使用者只需要传递出响应的参数,就可以通过对象调用内部的数据和方法,而不需要知道内部的实现方式
    • 封装后如果需要新的方法,可以在类中添加。

以上是关于面向对象的三大特性的主要内容,如果未能解决你的问题,请参考以下文章

面向对象的三大特性

C语言面向对象(上):面向对象三大特性的实现

面向对象 三大特性 五大原则

什么是php面向对象及面向对象的三大特性

Java面向对象概述和三大特性

Java面向对象概述和三大特性