OOP面向对象入门.ppt

上传人:sh****n 文档编号:6391258 上传时间:2020-02-24 格式:PPT 页数:36 大小:840.81KB
返回 下载 相关 举报
OOP面向对象入门.ppt_第1页
第1页 / 共36页
OOP面向对象入门.ppt_第2页
第2页 / 共36页
OOP面向对象入门.ppt_第3页
第3页 / 共36页
点击查看更多>>
资源描述
PurpleSky 时间 3小时 OOP入门 PurpleSky 培训内容介绍OO介绍OO基本概念 目录 PurpleSky 对OO有初步的了解 目的 PurpleSky 有一定的编程基础 培训要求 PurpleSky 面向对象 VB VC Dephi 面向对象 Java C 面向对象 Rose 面向对象就是把所有事物都看成对象 对象和对象之间象人一样相互作用吗 有必要了解面向对象的基本概念么 讨论 面向对象是什么 PurpleSky 从现实世界中客观存在的事物出发来构造软件系统 并在系统构造中尽可能运用人类的自然思维方式 是一种运用对象 类 继承 封装 聚合 消息 多态等概念来构造软件的开发方法 是世界观 是方法学 Oo定义 PurpleSky 80年代OOP90年代OOA OOD OOT Oo发展 PurpleSky OO与传统方法 PurpleSky 创建面向对象的系统有下列优点 复用 封装 接口 继承等手段组件设计好 重用组件和服务类分装了数据和功能 代码重用分析 设计模式 分析 设计重用沟通 分析设计实现之间自然衔接 一脉相承柔性 模块化 松耦合 弹性应对需求变化 易于维护 易于扩展 维护 面向对象的优点 PurpleSky 对面向对象理解不到位造成项目失败实现前的分析设计阶段时间较长如果仅仅用在实现阶段则作用不大 面向对象的缺点 PurpleSky 模型model对象 具体的对象 非面向对象的抽象概念 类 面向对象的三个核心概念 PurpleSky 以完整的语义表示系统的抽象概念 符合要解决的真实世界的问题对问题域和用户活动建模建模能够在所有项目相关人员中建立好的通信渠道和清楚的交流方式 成功的面向对象设计往往从一个表达问题域的可视化的对象模型开始 模型 PurpleSky 静态模型聚焦于结构和通用性关联泛化动态模型聚焦于流程控制事件序列静态模型和动态模型比较 静态模型 动态模型 PurpleSky 表达了客观世界的真实实体或抽象东西它有明确定义的边界以及封装了状态和行为的标识 状态由属性和关系来表示 行为由操作 方法和状态机来表示 具有接口 接口可能简单可能复杂 通常不会太复杂一个类的动态的实例 单个 唯一的标志一个实体内聚性的 完整性的 协调的实体 和其他对象是松耦合的 允许被重用一个类定义了一系列对象具有的相同的行为和实现 类决定了对象的行为抽象类没有实例 不能被实例化 对象 PurpleSky 具有唯一的标志组织为类有定义好的职责和行为将接口从实现中分离开来隐藏内部信息 结构提供服务发送消息到其他对象接收其他对象的消息并处理可以代理其他对象的职责 对象的特征 PurpleSky Everythingisobject EveryobjecthasInterface 两个准则 PurpleSky 对于一组具有共同属性 操作 方法 关系和语义的对象的描述 类是对象的定义 具有对象的共同的属性和操作 所有的对象由类实例化 instantiated 或者创建类可以由相同属性行为的对象的抽象而来类的划分依赖于你所处的环境 你的关注点 类 PurpleSky 什么是对象 类和实体 它们之间的关系如何 试述下面的说法映射到面向对象的计算机逻辑中分别对应什么概念 1 培训中心一期培训班 2 培训中心一期培训班的学员牛叉叉 3 学员 4 培训中心一期培训班的学员 5 培训中心培训班 练习 PurpleSky 类和对象的区别 讨论 PurpleSky 抽象Abstraction封装Encapsulation关联Association聚合Aggeration组合Composition继承Inheritance内聚 耦合Cohesion coupling消息多态Polymorphism 面向对象语言的基本概念 PurpleSky 忽略一个对象的不必要的细节和特征 以便专注于一组特定的相关细节简单的揭示功能和信息 确定了有别于其他种类实体的本质特征确定了观察者的视角有关的边界 帮助用户和对象交互概括的揭示对象特征 允许个性化 Abstraction抽象 PurpleSky 封装Encapsulation对于软件对象的内部表示的隐藏两个视图outsideview 提供了查询并控制数据而无需暴露其基础结构的接口insideview 封装Encapsulation PurpleSky 关联关系表示不同类的对象之间的结构关系 它在一段时间内将多个类的实例连接在一起指类之间交互的方式当一个对象使用了另外一个对象的服务或者方法时发生了关联 关联 PurpleSky 用于整体及其部分之间建立整体与部分关系的一种关联从A类到B类的聚合关系表示A类的某个对象由B类对象组成 A这种表示整体的叫Aggerateclass 是一种特殊形式的关联关系逻辑上是一种 Hasa 关系 聚合 PurpleSky 一个对象包含另外一个对象是一种特殊形式的关联关系 一种特殊形式的聚合关系逻辑上是一种 contains 关系它具有很强的归属关系 而且部分与聚合关系体的生存期恰巧相同具有不固定的多重性部件可在组合本身之后创建 但这之后就与组装体同生共死 即它们将具有同样的生命周期 不能独立于组合体而单独存在 组合 PurpleSky 组合语义更强 除表示整体 个体关系以外还表示个体的生存期与整体一样 而聚合并不强调个体的生命期 在uml中表示组合的菱形是实心的而聚合是空心的 订单和订单行是组合关系 汽车和车轮是聚合关系 聚合和组合 PurpleSky 准备 理解了抽象概念 练习抽象 抽象下列事物 一辆送货车一个人一个访销员一张许可证 PurpleSky 实现泛化关系的一个机制 定义了一个新的类型作为一个存在的类型的扩展逻辑上是一种 isa 或者 iskindof 关系为什么使用继承 有两种类型 一种是另外一种的扩展 从单个类中提炼出完整说明类有时候你想忽略两个类型的区别并且看到他们的共同点 baseclass 叫generalization 泛化关系generalization 较为一般的元素与较为特殊的元素之间的一种分类关系 继承 PurpleSky Base Derived关系派生类提供附加属性 方法或者覆盖了父类方法非常强有力的机制聚焦于概要 而不是细节允许代码重用和轻快的改变实现继承接口继承Java c 区别 继承 续 PurpleSky 使用继承的缺陷 什么地方使用继承 什么地方使用组合 继承 和组合 PurpleSky cohesion 衡量一个类或者一组类的内部各成分之间紧密联系的程度coupling 衡量两个或者多个类之间联系的程度 也可以说成对象间的依赖度 内聚 藕合 PurpleSky 向对象发出的服务请求 消息 PurpleSky 基于继承不同的类层次共享一个方法 继承于一种类型类的对象对于消息具有不同响应的能力方法参数名和返回值一样 抽象方法 和接口不同的子类可能有不同的实现 依赖于运行时刻的对象类型确定 客户端通过接口使用时不必知道具体类的名字 多态 PurpleSky 1 对汽车 自行车 船 飞机等不同的交通工具抽象共同的特征 并画出继承图2 使用多态 练习继承和多态 PurpleSky 1 对于下列实体 销售部门 销售部门名称 访销员 订单 订单行 客户 客户名称 供应商 地址 计算机 计算机类型 主板 CPU 学校 班级 学生 找出上述实体中的聚合关系并画出来 2 哪些可以强化为组合关系 练习聚合和组合 PurpleSky 谢谢 欢迎指正 结束语
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!