面向对象编程概述
面向对象编程(Object-Oriented Programming,OOP)作为一种重要的编程范式,从1960年诞生至今已有60多年的历史。本文将系统地介绍面向对象编程的核心概念、特性及开发方法论。
基本概念
面向对象编程(OOP)
面向对象编程是一种编程范式或编程风格,具有以下特点:
- 以类或对象作为组织代码的基本单元
- 将封装、抽象、继承、多态作为代码设计和实现的基石
- 注重代码的可复用性和可维护性
面向对象编程语言(OOPL)
面向对象编程语言是支持面向对象编程的编程语言,其特征包括:
- 提供类或对象的语法机制
- 支持面向对象编程的四大特性
- 便于实现面向对象的设计思想
判定标准
-
严格标准
- 必须支持完整的类和对象语法
- 要有现成的机制支持四大特性
- 如Java、C++等语言
-
宽松标准
- 只要支持类或对象的基本语法机制
- 能够实现面向对象的基本设计
- 如JavaScript等动态语言
核心特性
面向对象编程的四大特性(也称四大基石、支柱):
-
封装(Encapsulation)
- 将数据和操作数据的方法绑定在一起
- 对外隐藏实现细节
- 通过访问控制实现信息隐藏
-
抽象(Abstraction)
- 提取事物的本质特征
- 忽略非必要的细节
- 建立可复用的模型
-
继承(Inheritance)
- 实现代码复用
- 建立类的层次结构
- 体现is-a关系
-
多态(Polymorphism)
- 同一接口,不同实现
- 运行时动态绑定
- 增强代码的灵活性和扩展性
面向对象开发方法论
面向对象开发包含三个主要阶段:
1. 面向对象分析(OOA)
- 确定系统要做什么
- 识别关键对象和它们之间的关系
- 形成问题域的概念模型
2. 面向对象设计(OOD)
- 确定系统如何实现
- 设计类的结构和关系
- 定义类的属性和方 法
- 规划类之间的交互方式
3. 面向对象编程(OOP)
- 将设计转换为代码
- 实现类的具体功能
- 处理各种实现细节
建模工具
UML(统一建模语言)
虽然UML提供了完整的建模工具集,但在实际开发中应当适度使用:
-
优点
- 提供标准化的表示方法
- 便于团队交流
- 有助于系统设计
-
局限性
- 学习成本较高
- 严格遵守标准的沟通成本大
- 在互联网公司实际应用较少
-
实用建议
- 适当简化UML标准
- 重在表达设计思想
- 配合文字说明使用
- 根据实际需求选择使用程度