面向对象

Posted my12

tags:

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

面向对象

定义

面向对象,即Object Oriented,是一种新兴的程序设计方法。面向对象把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数

三大基本特征:封装、继承、多态
  • 封装:封装也称为信息隐藏,是指将客观事物抽象成类,每个类对于自身的数据和方法提供保护。类可以将自己的数据和方法让信任的类或者对象操作,对不可信的进行信息隐藏
  • 继承:继承是指子类自动共享父类数据和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容
  • 多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)
五大基本原则
  • 单一职责原则 (Single Responsibility Principle)

核心思想:一个类的功能要单一,不能包罗万象

  • 里氏替换原则 (Liskov Substitution Principle)

核心思想:超类存在的地方,子类是可以替换的

  • 开放封闭原则(Open-Close Principle)

核心思想:面向扩展开放,面向更改关闭

  • 依赖倒置原则(The Dependency Inversion Principle )

核心思想:实现依赖于抽象,不依赖具体实现

  • 接口隔离原则(the Interface Segregation Principle )

核心思想:使用多个小的接口,而不要使用一个大的接口

优点
  • 易维护,低耦合的特点使得程序的维护成本较低
  • 易扩展,代码复用率高
  • 结构清晰,模块化和结构化,更加符合人类的思维方式
缺点
  • 开销大
  • 性能低,因为面向对象在类调用时需要实例化,开销较大

面向过程

定义

面向过程(Procedure Oriented)是一种以过程为中心的编程思想,即自顶向下、逐步细化

优点

性能较高

缺点

没有面向对象易维护、易复用、易扩展

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

224 面向对象编程介绍,面向过程与面向对象

面向对象-面向对象和面向过程的区别

面向对象分析与设计面向对象设计包括哪些内容

面向对象

面向过程面向对象及面向对象的三大特征

Python面向对象学习 1 (什么是面向对象,面向对象的应用场景)