




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
时间: 3小时 OOP入门 培训内容介绍 q OO介绍 q OO基本概念 目录 对OO有初步的了解 目的 有一定的编程基础 培训要求 面向对象 = VB,VC,Dephi? 面向对象= Java, C+? 面向对象 = Rose ? 面向对象就是把所有事物都看成对象,对 象和对象之间象人一样相互作用吗? 有必要了解面向对象的基本概念么? 讨论:面向对象是什么? 从现实世界中客观存在的事物出发来构造软件系统 ,并在系统构造中尽可能运用人类的自然思维方式。 是一种运用对象,类,继承,封装,聚合,消息, 多态等概念来构造软件的开发方法。 是世界观,是方法学 Oo定义 80年代OOP 90年代OOA& OOD&OOT Oo发展 OO与传统方法 问题域 需求分析 自然语言 总体设计 详细设计 编程 测试 计算机 传统的软件工程方法 分析与设计的鸿沟 问题域 OOA OOD OOP 计算机 OOT 自然语言 面向对象的编程语言 面向对象的软件工程方法 创建面向对象的系统有下列优点: 复用,封装、接口、继承等手段 组件设计好,重用组件和服务 类分装了数据和功能,代码重用 分析、设计模式,分析、设计重用 沟通,分析设计实现之间自然衔接,一脉相承 柔性,模块化、松耦合,弹性应对需求变化, 易于维护、易于扩展、维护 面向对象的优点 对面向对象理解不到位造成项目失败 实现前的分析设计阶段时间较长 如果仅仅用在实现阶段则作用不大 面向对象的缺点 模型model 对象(具体的对象,非面向对象的抽象概念 ) 类 面向对象的三个核心概念 以完整的语义表示系统的抽象概念。 符合要解决的真实世界的问题 对问题域和用户活动建模 建模能够在所有项目相关人员中建立好的 通信渠道和清楚的交流方式。 成功的面向对象设计往往从一个表达问题 域的可视化的对象模型开始。 模型 静态模型聚焦于结构和通用性 关联 泛化 动态模型聚焦于 流程控制 事件序列 静态模型和动态模型比较 静态模型、动态模型 表达了客观世界的真实实体或抽象东西 它有明确定义的边界以及封装了状态和行为的标识。 状态由属性和关系来表示,行为由操作、方法和状态机 来表示。 具有接口,接口可能简单可能复杂,通常不会太复杂 一个类的动态的实例,单个、唯一的标志一个实体 内聚性的,完整性的,协调的实体,和其他对象是松 耦合的,允许被重用 一个类定义了一系列对象具有的相同的行为和实现, 类决定了对象的行为 抽象类没有实例,不能被实例化 对象 具有唯一的标志 组织为类 有定义好的职责和行为 将接口从实现中分离开来 隐藏内部信息、结构 提供服务 发送消息到其他对象 接收其他对象的消息并处理 可以代理其他对象的职责 对象的特征 Everything is object. Every object has Interface. 两个准则 对于一组具有共同属性、操作、方法、关系 和语义的对象的描述。 类是对象的定义,具有对象的共同的属性和 操作。 所有的对象由类实例化(instantiated)或者创建 类可以由相同属性行为的对象的抽象而来 类的划分依赖于你所处的环境,你的关注点 类 什么是对象、类和实体?它们之间的关系如何?试述下 面的说法映射到面向对象的计算机逻辑中分别对应什么概 念。 (1)培训中心一期培训班; (2)培训中心一期培训班的学员牛叉叉; (3)学员; (4)培训中心一期培训班的学员; (5)培训中心培训班 练习 类和对象的区别? 讨论 抽象 Abstraction 封装 Encapsulation 关联 Association 聚合 Aggeration 组合 Composition 继承 Inheritance 内聚、耦合 Cohesion,coupling 消息 多态 Polymorphism 面向对象语言的基本概念 忽略一个对象的不必要的细节和特征,以便 专注于一组特定的相关细节 简单的揭示功能和信息,确定了有别于其他 种类实体的本质特征 确定了观察者的视角有关的边界,帮助用户 和对象交互 概括的揭示对象特征,允许个性化 Abstraction 抽象 封装 Encapsulation 对于软件对象的内部表示的隐藏 两个视图 outside view,提供了查询并控制数据而无 需暴露其基础结构的接口 inside view 封装 Encapsulation 关联关系表示不同类的对象之间的结构关 系,它在一段时间内将多个类的实例连接在 一起 指类之间交互的方式 当一个对象使用了另外一个对象的服务或 者方法时发生了关联 关联 用于整体及其部分之间建立整体与部分关 系的一种关联 从 A 类到 B 类的聚合关系表示 A 类的某 个对象由 B 类对象组成。A这种表示整体的 叫Aggerate class. 是一种特殊形式的关联关系 逻辑上是一种“Has a “关系 聚合 一个对象包含另外一个对象 是一种特殊形式的关联关系,一种特殊形 式的聚合关系 逻辑上是一种“ contains ”关系 它具有很强的归属关系,而且部分与 聚合关系体的生存期恰巧相同 具有不固定的多重性部件可在组合本 身之后创建,但这之后就与组装体同生 共死,即它们将具有同样的生命周期, 不能独立于组合体而单独存在 组合 组合语义更强,除表示整体,个体关系以 外还表示个体的生存期与整体一样。而聚合 并不强调个体的生命期。在uml中表示组合 的菱形是实心的而聚合是空心的。 订单和订单行是组合关系,汽车和车轮是 聚合关系。 聚合和组合 准备:理解了抽象概念 练习 抽象 抽象下列事物: 一辆送货车 一个人 一个访销员 一张许可证 实现泛化关系的一个机制。 定义了一个新的类型作为一个存在的类型的 扩展 逻辑上是一种“is a” 或者“is kind of”关系 为什么使用继承? 有两种类型,一种是另外一种的扩展,从 单个类中提炼出完整说明类 有时候你想忽略两个类型的区别并且看到 他们的共同点( base class),叫 generalization. 泛化关系generalization,较为一般的元素与较 为特殊的元素之间的一种分类关系 继承 Base,Derived关系 派生类提供附加属性,方法或者覆盖了父类方 法 非常强有力的机制 聚焦于概要,而不是细节 允许代码重用和轻快的改变 实现继承 接口继承 Java,c+区别 继承-续 使用继承的缺陷? 什么地方使用继承,什么地方使用组合? 继承-和组合 cohesion:衡量一个类或者一组类的内部各 成分之间紧密联系的程度 coupling:衡量两个或者多个类之间联系的程 度,也可以说成对象间的依赖度 内聚、藕合 向对象发出的服务请求 消息 基于继承 不同的类层次共享一个方法,继承于一种 类型类的对象对于消息具有不同响应的能力 方法参数名和返回值一样,抽象方法,和 接口 不同的子类可能有不同的实现,依赖于运 行时刻的对象类型确定,客户端通过接口使 用时不必知道具体类的名字 多态 1、对汽车、自行车、船、飞机等不同的 交通工具抽象共同的特征,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏行业全景解析
- 手指课件内容
- 智能采收能耗优化-洞察及研究
- 不锈钢楼梯安装安全协议书7篇
- 统编版2025-2026学年语文六年级上册第一、二单元综合测试卷(有答案)
- 内蒙古锡林郭勒盟二连浩特市第一中学2024-2025学年九年级上学期期末检测化学试卷(无答案)
- 2025届安徽省安庆市安庆九一六高级中学高三下学期第5次强化训练物理试卷(含答案)
- 欧美医耗市场准入策略-洞察及研究
- 学生手机安全培训心得课件
- 扇形统计图说课稿课件
- 2026中国银行股份有限公司上海分行计划招聘550人考试参考题库及答案解析
- 2025纪念中国人民抗日战争胜利80周年心得体会五
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 《电力建设施工企业安全生产标准化实施规范》
- GA/T 594-2006保安服务操作规程与质量控制
- 髋关节解剖资料课件
- 坚持男女平等基本国策(妇联培训)课件
- 颅脑外伤(共61张PPT)
- 人教版《生命.生态.安全》六年级上册全册教案
- 矿种代码与规模分类表
- 2022版义务教育语文课程标准解读之核心素养与课程目标PPT
评论
0/150
提交评论