# 面向对象

# 什么是面向对象编程和面向对象编程语言

  • 面向对象编程的英文缩写是OOP,全称是Object Oriented Programming。
    面向对象编程中有两个非常重要、非常基础的概念,就是类和对象。
    面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。
  • 面向对象编程语言的英文缩写是OOPL,全称是Object Oriented Programming Language。
    面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程四大特性(封装、抽象、继承、多态)的编程语言。

# 什么是面向对象分析和面向对象设计

  • 面向对象分析的英文缩写是OOA,全称是Object Oriented Analysis。是确定需求或者业务的角度,按照面向对象的思想来分析业务。通俗来说就是用面向对象的思想搞清楚需要做什么。
  • 面向对象设计的英文缩写是OOD,全称是Object Oriented Design。是对面向对象分析的结果作进一步的规范化整理,以便能够被OOP直接接受。通俗来讲就是用面向对象的思想搞清楚怎么做。

OOA、OOD、OOP这三个连在一起就是面向对象分析、设计、编程(实现),正好是面向对象软件开发要经历的三个阶段。

# 封装、抽象、继承、多态四大特性的功能

# 封装(Encapsulation)

封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式(函数)来访问信息或者数据。

# 抽象(Abstraction)

抽象是从众多的事物中抽取出共同的、本质的特征,而舍弃其非本质的特征的过程。

# 继承(Inheritance)

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
这种技术使用复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。

# 多态(Polymorphism)

多态指一种事物具有多种状态,在面向对象语言中,接口的多种不同实现方式即为多态。