《OOP面向对象入门》PPT课件.ppt_第1页
《OOP面向对象入门》PPT课件.ppt_第2页
《OOP面向对象入门》PPT课件.ppt_第3页
《OOP面向对象入门》PPT课件.ppt_第4页
《OOP面向对象入门》PPT课件.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论