一、面向对象
面向对象的四大特性:封装、抽象、继承、多态。
面向对象编程
面向对象编程中有两个非常重要、非常基础的概念,那就是类和对象。
面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。
面向对象编程语言
面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程四大特性(封装、抽象、继承、多态)的编程语言。
面向对象分析与设计
面向对象分析(OOA)、面向对象设计(OOD)中的 ”分析“ 和 ”设计“ ,从字面上理解,不需要过度解读,简单类比软件开发中的需求分析、系统设计即可。
之所以在前面加 “面向对象”,是因为我们是围绕这对象或类来做需求分析和设计的。分析和设计两个阶段最终的产出是类的设计,包括程序被拆解为哪些类、每个类有哪些属性方法,类与类之间如何交互等等。
它们比其他的分析和设计更加具体、更加落地、更加贴近编码,更能够顺利地过渡到面向对象编程环节。
二、面向过程
面向过程编程
相较于面向对象编程以类为组织代码的基本单元,面向过程编程则是以过程(或方法)作为组织代码的基本单元,它最主要的特点就是数据和方法相分离。
面向过程编程语言
最大的特点就是不支持丰富的面向对象编程特性,比如继承、多态、封装。
面向对象的优势
面向对象编程相比于面向过程编程的优势主要有三个。
- 对于大规模复杂程序的开发,程序的处理流程并非单一的一条主线,而是错综复杂的网状结构。面向对象编程比起面向过程编程,更能应对这种复杂类型的程序开发。
- 面向对象编程相比面向过程编程,具有更加丰富的特性(封装、抽象、继承、多态)。利用这些特性编写出来的代码,更加易扩展、易复用、易维护。
- 从编程语言跟机器打交道的演进规律中,我们可以总结出:面向对象编程语言比起面向过程编程语言,更加人性化、更加高级、更加智能。