面向对象建模与UML_基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象建模与UML_基础

面向对象建模与UML 信息与电气工程学院 高洪江 ghj1104@163.com内容 什么是面向对象 从认识论看面向对象方法的形成 面向对象方法的基本概念与原则 OO方法的发展历史与现状 什么是面向对象 从程序设计方法的角度看,面向对象是一种新的程序设计范型(paradigm),其基本思想是使用对象、类、继承、封装、聚合、关联、消息、多态性等基本概念来进行程序设计。 自20世纪80年代以来,面向对象方法已深入到计算机软件领域的几乎所有分支。它不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,用什么观点来研究问题并进行问题求解,以及如何进行系统构造的软件方法学。从这个意义上讲: 面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。 面向对象方法的基本思想 从现实世界中客观存在的事物出发来构造系统 强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌。 充分运用人类日常的思维方法 强调运用人类在日常的逻辑思维中经常采用的思想方法与原则,例如抽象、分类、继承、聚合、封装、关联等等。这使得软件开发者能更有效地思考问题,并以其他人也能看得懂的方式把自己的认识表达出来。 主要特点: 用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性和操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、关联和消息如实地表达了问题域中事物之间实际存在的各种关系。 因此,无论系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可直接地映射问题域。 内容 什么是面向对象 从认识论看面向对象方法的形成 面向对象方法的基本概念与原则 OO方法的发展历史与现状 从认识论看面向对象方法的形成 软件开发:对事物的认识和描述 问题——语言的鸿沟 语言的发展——鸿沟变窄 软件工程学的作用——传统的软件工程方法 软件工程学的作用—— 面向对象的软件工程方法 内容 什么是面向对象 从认识论看面向对象方法的形成 面向对象方法的基本概念与原则 OO方法的发展历史与现状 面向对象方法的基本概念与原则 对象,类 属性,操作 封装 继承,一般—特殊结构 聚合,整体—部分结构 关联 消息 多态 持久对象,主动对象 …… 对象,属性,操作 封装:把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。 抽象,类,一般类,特殊类 不同程度的抽象可得到不同层次的分类 一般类和特殊类的定义 定义1:如果类A具有类B的全部属性和全部操作,而且具有自己特有的某些属性或操作,则A叫做B的特殊类,B叫做A的一般类。一般类与特殊类又称父类与子类。 定义2:如果类A的全部对象都是类B的对象,而且类B中存在不属于类A的对象,则A是B的特殊类,B是A的一般类。 ——可以证明,以上两种定义是等价的 继承 特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承。 多继承 允许一个特殊类具有一个以上一般类的继承方式称作多继承 聚合: 整体-部分结构 聚合关系又称整体-部分关系。由一组具有聚合关系的类所形成的结构称为整体-部分结构。它是一个以类为结点,以聚合关系为边的连通有向图。 关联 两个或者多个类上的一个关系(即这些类的对象实例集合的笛卡儿积的一个子集合),其中的元素提供了被开发系统的应用领域中一组有意义的信息。 用集合论的观点和系统需求讨论关联概念 关联是两个或者多个类上的一个关系,其中的元素提供了被开发系统的应用领域中一组有意义的信息。 例如:在一个教学管理系统中 有教师、学生、教务员课程等类。 系统中需要表明每一门课程由哪位教师承担、有哪些学生选修,因此需要在教师和课程之间定义一个关联,在学生和课程之间也定义一个关联。 该系统的教务员要为学生做注册、登记成绩等工作,但是不需要区别是哪个教务员为哪个学生做的,因此就不需要在教务员和学生这两个类之间定义关联。 消息:消息是向对象发出的服务请求 目前在大部分面向对象的编程语言中,消息其实就是函数(或过程)调用。 但是,函数调用只是实现消息的方式之一,上述理解只适合于顺序系统 更一般的定义: 消息是对象之间在一次交互中所传送的信息 纠正一种误解——认为在任何两个类之间只有存在关联才可能存在消息。 实际上,关联和消息是两个截然不同的概念,二者是相互独立的。 多态 多态是指同一个命名可具有不同的语义。OO方法中,常指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 实现机制: 重写(override)——在特殊类中

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档