10、面向对象技术★★★★★30‘
10.1面向对象基础
对象
对象(Object)包含静态特征(属性)和动态特征(行为)
- 静态特征别名:属性/状态/数据/变量
- 动态特征别名:方法/函数/功能
封装
消息是外界的
类
类是抽象概念,对象是具体实例
- 实体类(数据类):
- 特点:包含大量属性用于存储数据
- 表示现实世界真实存在的实体(如用户、账户)
- 接口类(功能类/边界类)interface:
- 提供系统交互方式(如二维码支付)
- 特点:包含大量方法实现特定功能
- 别名:interface同时包含功能、接口、边界三层含义
- 控制类:
- 协调业务逻辑(如支付流程控制)
- 特点:整合实体类和功能类实现业务处理
继承与泛化
- 父类 = 超类 = 泛型类
- 子类 = 派生类
- 子类是父类的特殊化
- 父类是子类的泛化
java不支持二义性(两个父类),C++支持二义性
重写与重载
重写发生在类之间(两个类)
重载发生在一个类之内(覆盖)
多态
重写(覆盖)和重载两种技术是多态的具体表现形式
10.2面向对象开发流程
面向对象七大原则
10.3UML
静态结构图(描述系统组成)动态行为图(描述系统运行过程)
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
UML背景与作用 | 开发团队沟通中图形化表达优于代码展示,尤其对高级技术人员 | 图形化沟通优势 vs 代码展示局限 | ★★☆☆☆ |
UML发展历程 | 从各公司独立标记语言到统一标准语言(UML)的演进 | 标志语言统一必要性 | ★★☆☆☆ |
UML图分类 | 分为静态结构图和动态行为图两大类 | 分类标准与典型代表图 | ★★★☆☆ |
类图(Class Diagram) | 展示类名/属性/方法及类间关系,含接口表示 | 类名大写规范 vs 对象图命名差异 | ★★★★☆ |
对象图(Object Diagram) | 程序运行时某一时刻的对象实例及关系 | 冒号命名法识别特征 | ★★★☆☆ |
用例图(Use Case Diagram) | 系统功能与外部参与者交互的图形化表示 | 参与者(Actor)概念辨析 | ★★☆☆☆ |
序列图(Sequence Diagram) | 按时间顺序展示对象间方法调用流程 | 与通信图的核心差异 | ★★★★☆ |
通信图(Communication Diagram) | 侧重对象组织结构的方法调用关系 | 对象结构可视化优势 | ★★★☆☆ |
状态图(State Diagram) | 描述对象在不同条件下的状态转换 | 文字描述 vs 图形化优势 | ★★★★☆ |
活动图(Activity Diagram) | 业务逻辑视角的功能实现流程 | 与序列图抽象层级差异 | ★★★☆☆ |
组件图(Component Diagram) | 系统模块间调用关系,含公接口/虚接口 | 模块化设计体现 | ★★★☆☆ |
部署图(Deployment Diagram) | 唯一涉及硬件的图,展示软件模块与物理设备关系 | 微服务架构下的重要性 | ★★★☆☆ |
考试重点提示 | 类图/用例图/序列图/状态图为高频考点 | 带星号内容(如包图)可忽略 | ★★★★★ |
典型真题解析 | "展示模块和硬件关系的图"正确答案为部署图 | 组件图干扰项辨析 | ★★★★☆ |
未完