UML-1理解面向对象
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 属性,属性是类的一个特性。它描述了类的对象(也就是类的实例)所具有的一系列特性值。一个类可以
《UML-1理解面向对象》由会员u****w分享,可在线阅读,更多相关《UML-1理解面向对象》请在金锄头文库上搜索。
项目名称-项目介绍_331155759
闵行区医院信息集成平台项目建设
项目名称-立项申请(升级产品立项)
03专业资格答辩模板(命名格式:岗位序列-P级-部门-工号-姓名) (139)
综管GIS设计
附件2-电子健康卡管理系统接口使用文档V1.7
模板-2.1.3_用户需求说明书
JZ-SPI-P-PMC-T04(项目总结报告)
中端HR市场洞察分析
技术支持工程师JAVA-P8-华南大区-6819-覃力
2014-1332上海市儿童保健信息系统分包合同技术附件20141203 (187)
JZ-SPI-E-VER-T06(测试总结报告)
附件4:培训会场布置图(外请讲师培训)
2017年质量预算表(黄渡) (503)
JZ-SPI-E-TS-P05(候选技术解决方案)
BS-CKB3.3-产品介绍及发布说明(临床知识库系统)
“网上图书销售管理系统”实验报告
0907-2020年度区中医院绩效考核
孙国平家庭医生个人工作量(预算值样表) (270)
“校园卡管理系统”实验报告
2023-02-17 21页
2023-02-16 13页
2022-10-25 57页
2022-10-24 99页
2022-10-24 110页
2022-10-24 75页
2022-10-11 139页
2022-10-11 50页
2022-07-31 47页
2022-07-31 40页