11.1面向对象基本概念-分析设计测试

张开发
2026/5/19 14:46:52 15 分钟阅读
11.1面向对象基本概念-分析设计测试
一、面向对象技术 00:001. 考情分析 02:09分值分布: 本章节在历年考试中平均考察3-5分教材变动:第二版教材将内容分散在5.3.2面向对象基础、分析设计和2.6.2.4UML建模语言两处删减了原版教材中UML图、设计模式、设计原则等重要考点内容考试趋势:近年考察重点转向面向对象基本概念和UML设计模式在2017-2018年常考近年选择题出现频率降低设计模式在案例分析和论文题中仍有出现学习建议:仍需完整掌握面向对象技术体系重点关注面向对象基础概念和UML知识点设计模式作为潜在考点仍需掌握2. 面向对象开发 03:241对象 03:40对象的定义与理解 03:46实体性: 对象是现实生活中实际存在的实体如学生管理系统中的张三、李四等具体个体。系统参与性: 在系统设计中对象指参与系统的外部实体如医院系统中的医生、病人等。实例说明: 以学生管理系统为例每个具体学生如张三就是一个对象在医院系统中每个医生和病人也都是对象。对象在系统设计中的应用 04:27设计起点: 面向对象设计从分析系统内的对象开始例如先确定医院系统中有医生、病人等对象。属性分析: 需分析对象的属性如医生的姓名、年龄、职称、工资等具体特征。行为分析: 需分析对象的行为如医生的接诊、开处方、录入病例等操作能力。对象的行为 05:09行为本质: 指对象能执行的操作或功能在代码中表现为函数或方法。实例说明: 医生对象的行为包括接诊处理挂号、看病诊断、手术等具体操作。代码对应: 在编程中这些行为会被定义为类中的方法函数。对象的构成部分 06:35三要素:名称: 如医生这一对象类别的命名属性: 描述对象特征的数据如姓名、年龄方法: 对象可执行的操作如接诊、开药系统基础: 对象是构成系统的基本单位通过属性和方法的封装实现功能。2类 06:53与对象关系: 类是对象的抽象模板对象是类的具体实例。抽象过程: 通过提取多个对象的共同特征形成类如所有医生的共有属性姓名、职称和行为接诊。编程实践: 在代码中先定义类包含属性和方法再实例化为具体对象。必要性: 避免为每个相似对象单独建模如医院数百名医生可统一用医生类描述。类的类型 10:00实体类:对应: 现实中的真实实体人、物示例: 医生、病人、医疗设备接口类边界类:功能: 系统与用户的交互媒介形式: 显示屏、窗口、Web窗体等界面元素分类: 包括人机接口和系统间接口控制类:作用: 协调业务流程示例: 考试系统中控制学生排队交卷的规则模块特点: 最难理解但至关重要的协调者角色3抽象 07:14抽象的概念 07:16核心思想: 提取主要特征忽略次要特征过程描述: 从具体实例中抽取共性形成概念示例说明: 从数百个医生对象中提取共有属性姓名、职称和行为接诊形成医生类类是对象的抽象 08:47层级关系:对象→现实实体抽象类→一组对象的抽象设计优势: 通过类的抽象实现代码复用如所有医生对象共享同一类定义抽象的总结 13:20单一化描述: 仅保留与应用相关的特性忽略原则: 舍弃不影响系统功能的次要特征设计意义: 简化系统模型提高开发效率4封装 13:39技术本质信息隐蔽技术将函数实现细节隐藏实现方式内部实现过程对用户不可见仅开放调用接口用户视角使用者只需知道接口功能无需了解内部实现逻辑典型示例函数封装后如同黑箱输入参数即可获得结果5继承 14:14核心关系类之间的层次关系体现为父类与子类继承特性子类自动获得父类所有特征如属性和方法子类可扩展特有属性如高中生有高考成绩研究生有论文发表继承类型单继承仅继承一个父类多继承同时继承多个父类生活类比类似财产继承关系但编程中不要求血缘关系实例说明父类学生包含学号、姓名、年龄等基础属性子类高中生扩展月考成绩等特有属性子类研究生扩展论文发表情况等特有属性注所有时间戳均按原始记录标注图片标题根据内容特征生成。笔记严格遵循课程讲解内容未添加任何额外信息。6多态 15:34多态的定义与理解 15:40核心概念不同对象收到同一消息时产生完全不同的结果本质是一个接口多种实现形态形象举例定义抽象函数draw()子类A实现为画三角形子类B实现为画圆形。调用时统一发送draw消息但实际执行结果不同术语解析收到消息指调用统一接口不同结果指各子类的具体实现差异多态在C与Java中的实现 15:55C实现基于虚函数(virtual function)和抽象类(abstract class)机制Java实现主要通过接口(interface)实现也可使用抽象类关键步骤父类/接口定义抽象方法如draw()子类继承/实现并重写具体逻辑通过父类引用调用方法实际执行子类实现参数多态 18:28实现方式通过参数化模板生成多种结构类型典型场景C模板编程中同一模板根据不同类型参数实例化不同版本记忆要点强调参数变化导致结构变化的特点包含多态 18:48核心特征基于父子类继承关系的类型包含典型表现父类引用可以指向子类对象如Animal a new Dog()注意事项重点理解is-a关系不需深入实现细节过载多态重载多态 18:58基本定义同一函数名对应不同参数列表的实现典型形式函数重载同名函数参数类型/数量不同运算符重载如实现数值相加或字符串连接区分要点与覆盖(override)不同重载(overload)不要求继承关系强制多态强制类型转换 19:46显式转换程序员主动指定的类型转换如(int)3.14隐式转换编译器自动完成的类型提升如int double转为double double应用场景数值运算、指针类型转换等多态由继承机制支持 20:37架构设计通用接口声明在抽象层父类/接口具体实现放在底层子类优势体现提高代码扩展性新增功能只需添加子类而不修改调用方设计原则符合开闭原则对扩展开放对修改关闭7接口 21:09本质特征封装内部实现对外暴露可调用的方法签名类比理解类似函数声明约定调用规范而不涉及具体实现设计目的实现模块间解耦隐藏实现细节8消息 21:22交互机制对象间通过方法调用传递消息实现形式表现为对某个对象方法的调用如obj.draw()通信特点消息包含目标对象、方法名和参数列表9覆盖 21:31定义场景发生在父子类继承关系中必要条件方法名完全相同参数列表完全一致子类方法覆盖父类实现典型效果通过子类对象调用时执行子类版本方法10函数重载 21:40核心规则相同函数名不同参数列表类型/数量/顺序与返回值类型无关常见应用类构造函数的多种重载形式调用机制编译器根据实参类型自动匹配对应版本与覆盖区别重载发生在同一作用域覆盖需要继承关系11绑定 23:12核心定义将过程调用和响应调用所需执行的代码相结合的过程静态绑定在编译时完成绑定适用于常规程序设计语言动态绑定在运行时完成绑定通常依赖于动态库如dll文件学习重点只需掌握静态绑定和动态绑定的区别即可不必深究绑定概念本身12应用案例 24:00

更多文章