面向对象
主流的编程范式或风格有面向过程、面向对象和函数式编程,其中面向对象是最主流的。大部分流行的编程语言和项目都是基于面向对象编程开发的。面向对象编程具有丰富的特性,如封装、抽象、继承和多态,可以实现复杂的设计思路,是设计原则和设计模式的基础。
📄️ 基于接口而非实现编程
基于接口而非实现编程的设计思想
📄️ 多用组合少用继承
面向对象编程和面向对象编程语言
面向对象编程(OOP) Object Oriented Programming,面向对象编程语言(OOPL) Object Oriented Programming Language.
- 面向对象编程是一种编程范式或编程风格,它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计设计和实现的基石。
- 面向对象编程语言是支持类或对象语法机制,能方便地实现面向对象四大特性(封装、抽象、继承、多态)的编程语言。
面向对象编程可以在面向对象编程语言和非面向对象编程语言中实现。使用面向对象编程语言编写的代码也可以是面向过程风格。
按照严格的定义,需要有现成的语法支持类、对象、四大特性才叫做面向对象编程语言。如果放宽要求的话,只要某种编程语言支持类、对象语法机制,不一定非要具备所有的四大特性。
面向对象分析和设计
面向对象分析(OOA)、设计(OOD)、编程(OOP)(实现)三个阶段,是面向对象软件开发过程中的关键步骤。OOA 是 Object Oriented Analysis 的缩写,指的是面向对象分析,OOD 是 Object Oriented Design 的缩写,指的是面向对象设计。
关于面向对象分析和设计中的分析和设计可以类比软件开发中的需求分析、系统设计即可。
面向对象分析和设计是围绕类和对象进行需求分析和设计的过程。它的最终产出是类的设计,包括程序被拆解为那些类,每个类有哪些属性和方法,以及类与类之间如何交互。与其它分析和设计相比,面向对象分析和设计更加具体、贴近代码、更容易过渡到面向对象编程环节。
面向对象分析就是搞清楚做什么,面向对象设计就是搞清楚怎么做,两个阶段最终的产出是类的设计,包括程序被拆解为那些类,每个类有哪些属性方法,类与类之间如何交互等等。面向对象编程就是将分析和设计的结果翻译成代码的过程。