电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

UML-1理解面向对象

90页
  • 卖家[上传人]:u****w
  • 文档编号:232237072
  • 上传时间:2021-12-30
  • 文档格式:PPT
  • 文档大小:388.50KB
  • / 90 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1 理解面向对象,如何理解面向对象思维方式 对象如何通信 对象如何与其他对象关联 对象如何组合,对象无处不在,对象组成了世界 对象是现实世界的一种抽象,它以整体和相互联系的观点考察各种事物 每个对象都包含了许多特性 程序设计中的对象指将数据和操作数据的方法封装在一起而形成的一种实体,这些实体都具有独立的功能,隐藏实现这些功能的复杂性 可视化程序开发中的窗体是一个对象,窗体上的控件都是对象,对象无处不在,类是对象的定义,是建立对象的模型。 类是一类具有共同特性的对象的合称 例如:汽车是一个类,一辆大众汽车就是一个汽车对象 对象一定具备类定义的所有的特征,一些面向对象的概念,抽象(abstraction) 继承(inheritance) 多态(polymorphism) 封装(encapsulation) 信息传递(message sending) 关联(association) 聚集(aggregation),抽象(abstraction),抽象 -从用户的观点看,表示使它不同于其他对象或类的对象或类的本质特征 抽象就是过滤对象的一部分特性和操作直到只剩下你所需要的属性和操作 抽象对于建

      2、模者来说是最重要的技术,就是说要搞清楚什么应该纳入模型中,什么应该舍去,继承(inheritance),继承:定义新类时,不一定都要从头做,可以把其他已经定义好的类属性和操作放到新类中来使用。 洗衣机,电冰箱,收音机都是家用电器类(appliance)的子类(subclass),也可以说applianc类是它们的超类(superclass) Appliance类具有的属性和操作,比如turnOn(),trunOff(),是所有子类就必备的,多态(polymorphism),多态:继承的基础上,不同的类有各自不同的特性,在共同特性的基础上,体现多样性 不同的类在执行同样的操作时,有着不同的行为,就是多态性 多态性是现实对象中提取的特性 我们说“打开”这个行为时,对于不同对象有不同的理解和操作 多态性对建模者是很重要的,它可以让建模者用客户的语言和术语来和客户交流,封装(encapsulation),封装的实质:当一个对象执行自己的操作时,它对外界隐藏了操作的细节。 例如:电视对用户来说,就那么几个控制按钮,用户知道怎么使用,但不知道这些功能的实现原理和过程,也无须知道 封装的作用:软件开

      3、发中,有助于减少对象之间的相互依赖造成的麻烦 封装意味着对象对其他对象和外部世界隐藏了自己要做什么,所以也称为信息隐藏。,接口(interface),对象总要给外界提供操作和控制对象的“窗口”或“控制台”,这些“窗口”我们就称之为“接口”。 我们使用的电冰箱,空调上一定有很多的按钮,这些按钮就是控制和使用这些电器的“窗口”,都可以称之为接口(interface),消息传递(message sending),在系统中对象是要相互协作的。对象之间的协作是通过相互发送信息。一个对象发送一个操作消息给另一个对象,接受消息的对象就执行这个对象 我们使用空调的遥控器来使用空调,就是控制器和空调两个对象的通信,通信可以是单向也可以是双向的。 对象传递信息的接口不一定都相同,关联(association),关联描述了系统中对象和其它实例之间的离散的连接,关联是有序的,它允许重复,关联的实例是链。 关联至对象的连接点称为关联端点,很多信息被附在关联端点上,它拥有角色名、重数(多少个类的实例可以关联于另一个类的实例),可见性等。 关联有自己的名称,可以拥有自己的属性,这时关联本身也是类,称为关联类。 比如

      4、:我开电视机,对象“我”和对象“电视机”发生了关联,这种关联是何种关联? 单向关联和双向关联,关联(association),一个对象可能和另一个对象之间以多种方式发生关联。 关联的多重性对象之间关联的一个重要方面。 一对一,一对多,多对多,聚集(aggregation),聚集(Aggregation)用来表达整体部分关系的关联。组合(Composition)是一种聚集,是关联更强的形式。,Polygon,Point,1,3.*,points,Contains,Polygon,Window,Slider,1,2,Scrollbar,Header,1,Title,1,1,Panel,1,Body,聚集,组合,聚集(aggregation),组合是聚合的一种形式,聚集对象和它的组成对象之间具有强关联。组成关键特征是部分对象只能存在于组成对象中。 比如:衣服和衣领,衣袖,钮扣的关系,衣服失去价值,衣袖的价值也失去了 部分体的寿命比组合体短 比如:树叶可能先于树消亡,面向对象设计的意义,对象和对象之间的关联构成了系统功能的骨架 运用面向对象的概念来帮助客户的领域知识,并用客户能够理解的术语来说

      5、明你对问题的理解 面向对象符合人类思想的思维方式,符号约定,UML中的符号约定 类名以大写字母开头 包含很多单词的类名,所有的单词都连接起来,并且每个单词的第一个字母都大写 特征(属性和操作)的名字以小写字母开始 多个单词组成的特征名,单词连接,除第一个字母小写,其他单词的第一个字母大写 操作名的后面跟上一对括号,2 运用面向对象,如何对一个类建模 如何表现一个类的特性,职责和约束 如何发现类,2.1 类的可视化表示,正如前一章中所指出的,在UML中一个放形表示一个类的图标。按照UML的约定,类名的首字母大写,放在矩形的偏上部。如果类名是由两个单词组成,那么将这两个单词合并,第一个单词首字母大写。,如果WashingMachine(洗衣机)类是HousehouldAppliances(家用电器)包的部分,那么这个类的名字为:HouseholdAppliances:WashingMachine。包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫路径名(pathname)。如下图所示。,2.2 属性,属性是类的一个特性。它描述了类的对象(也就是类的实例)所具有的一系列特性值。一个类可以

      6、具有零个到多个属性。按照UML的约定,单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。属性名列表放在类名之下,并且和类名之间用分隔线隔开,如下图所示。,类的属性在该类的每个对象中都有具体值。下图是一个例子。注意,对象名首字母小写,后面跟一个冒号,冒号后面是该对象所属的类名,并且整个名字要带下划线。,名字myWasher:WashingMachine是一个命名实例。也可以有诸如:WashingMachine这样的匿名实例。,UML还允许指明属性的附加信息。在类的图标里,你可以指定每个属性值的类型。可能的类型包括字符串(string)、浮点数(floating-point)、整数(integer)和布尔(bool)型(以及其他的枚举类型)。要指明类型,则在属性值后面加上类型名,中间用冒号隔开。还可以为属性指定一个缺省值。下图说明了属性的各种表示方式。,枚举类型(enumerated type)是由一系列被命名的值所定义的一种数据类型。例如Boolean类型就是个枚举类型,因为它只有两种可能的值“true”和“faIse”。可以自己定义所需使用的枚

      7、举类型,例如状态类型,它由“固体”、“液体”和“气体“状态值组成。,2.3 操作,操作(operatin)是类能够做的事情,或者别的类能对这个类做的事情。和属性名的表示类似,单字操作名小写。如果操作名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。,操作名列表放在属性名列表之下,两者之间用分隔线隔开,如下图所示。,就像给属性指定附加信息一样,你也可以为操作指定附加信息。在操作名后面的括号中可以说明操作所需要的参数和参数的类型。有一种操作叫函数(function),它在完成操作后要返回一个返回值。可以指明函数的返回值及返回值的类型。上述全部的操作信息被称为操作的型构(signature)。下图说明了如何表达型构。,2.4 属性、操作和可视化表达,当同时表示多个类的时候,通常没必要总是显示这些类的所有属性和操作,这样做会使图形表示比较混乱。相反,可以只给出类名,而将属性或者操作区(或者两者全部)空着。 有时,只显示类的一部分属性和操作很有用。为了说明你只表示出部分操作和属性,可以在列表的后面加上3个小点“”。这个符号叫省略符(ellipsis),这种省略了一个或多个属性或

      8、者操作的表示法叫做类的省略表示法。下图说明了类的省略表示法。,如果属性或名操作列表太长,可以用构造型来组织属性或操作列表,以方便理解。构造型是UML提供的扩展机制,它允许你创建新的模型元素以解决具体问题。第1章中已经提到过,构造型用双尖角括号括住的名字来表示。对属性列表,可以使用一个构,造型作为部分属性的标题,如下图所示。,2.5 职责和约束,类图标中还可以指明另种类的信息。在操作列表框下面的区域,你可以用来说明类的职责。职责(responsibility)描述了类做什么也就是类的属性和操作能完成什么任务。例如,一台洗衣机的职责是将脏衣服作为输入,输出洗干净的衣服。在图标中,职责在操作区域下面的区域中说明。,更形式化的方式是使用约束(constraint),它是一个用花括号括起来的自由格式的文本。括号中的文本指定了该类所要满足的一个或者多个规则。例如,假设你想指定WashingMachine类的洗衣机容量只能是16、18或者20磅(也就是说对WashingMachine类的capacity属性施加约束),你可以在WashingMachine类图标的旁边写个约束,如下图所示。,UML提供

      9、了另一种方式(也是非常形式化的一种表达方式)表示施加约束,以便模型元素的语义定义更加明确。它实际上是也一个完整的语言,被称为对象约束语言(ObjectConstraint Language,0CL)。0CL是UML的一个高级的但是很有用的工具,有自己的规则、术语和操作符。,2.6 附加注释,除了上面介绍过的属性、操作、职责和约束之外,还可以以对类附加注释的形式给类添加更多的信息。下图中的注释说明了serialNumber(序列号)属性引用了政府标准,根据这个注释就可以参考相关标准以查阅如何生成WashingMachng类对象的serialNumber属性值。,类如何识别,类代表的是领域知识中的词汇和术语。 通过和客户的交谈,分析他们的领域知识,设计解决问题的计算机系统,用UML建立类模型 举例:我们来建立一个篮球比赛的模型 假设我是分析员,而你们是篮球运动员或教练,我要通过和你们的交谈来建立篮球比赛的类模型,和客户的交谈,请介绍一下篮球比赛它的目标是什么,如何进行比赛,球队的组成如何? 如何将球推进,是否规定进攻时间? 如何计算得分 每个场上球员的职责是什么? 比赛的场地大小如何?比赛

      10、时间呢?,我们的发现,在对话中发现的名词有:篮球,篮框,篮球队,队员,后卫队员,前锋队员,中锋,规定的进攻时间,三分线,罚球,犯规,罚球线,球场,比赛时钟 发现的动词有:投篮,推进,运球,传球,犯规,抢篮板球 根据常识,可以为这些类建立一些属性和操作,另外可加入一些约束和职责,在和客户交谈中,要注意以下几点: 注意客户用来描述业务实体的名词术语,这些名词可以领域模型中的类 注意客户描述中的动词,可能是构成类中的操作属性 当列出核心列表后,应向客户询问类的作用,即类的职责,通常我们的“常识”可以帮助我们更好的理解一些领域知识,建立起合适的类模型 如果分析的是全新的领域,我们的“常识”帮不上忙,应该如何呢?通常这个时候,在和客户会见之前,应该尽可能查阅一些相关的资料,或向相关专家请教,了解基础的领域知识,这样在和客户交流时才能提出中肯的问题。,2.8 小结,UML的类图标是由一个矩形表示的。类名字、属性、操作和职责都在区域中有各自的方框。可以使用构造型来组织属性和操作名列表。可以使用类的省略表示法,只表示出类的一部分属性和操作。这样可以使类图比较清晰。 可以在类图标中指定属性的类型和初始值

      《UML-1理解面向对象》由会员u****w分享,可在线阅读,更多相关《UML-1理解面向对象》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.