版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、v从人类认知的角度来说,对象应是以下之一: 可触摸或可见的东西 可以被理性理解的东西 可以进行想象或施加动作的东西v具有良好定义的封装了状态和行为边界的具体实体,类的实例。v对象具有状态、行为和唯一标识。类似对象的结构和行为在它们的共同类里定义。术语“实例”和“对象”是可以互换的。v对象代表了一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,它在问题领域里有确切定义的角色。v对象的状态包括对象的(通常是静态的)所有属性和这些属性的当前(通常是动态的)值。v属性是一种内在的或独特的性质、特点、质量或特征,它构成一个独一无二的对象。v行为是一个对象根据它的状态改变和消息传送所采取
2、的行动和所作出的反应。v对象的行为代表其对外的可见和可测试的活动。v对象的行为通常表现为操作的执行,操作的执行结果与对象所处状态密切相关,而执行操作后常常反过来改变对象的状态。v修改器改变对象状态的操作v选择器获取对象的状态但不修改其状态的操作。v迭代器允许按预定的顺序访问对象所有部分的操作。v构造器创造一个对象或初始化对象状态的操作v析构器释放对象状态或销毁对象自身的操作。v对象拥有区别其它对象的唯一标识;v对象拥有状态,存在从创建到销毁的生命周期;v对象负有确定的职责并表现出特定的行为;v对象对外提供服务,同时也可以将一定责任委派给其它对象;v对象都能被归类;v对象将内部结构细节对外封闭;
3、v对象将实现与接口分离;v对象拥有从创建、经历一系列状态变迁直到销毁的生命周期;v例子是一个FILE对象的状态转换图,描述了它的整个生命周期v对象总是以群体的方式而存在(单个对象是没有意义的),对象之间的协作是通过消息的传递来实现的;v消息是由发送对象向接收对象发出的调用某个操作的请求,一般由接收对象名、调用操作名和相关参数组成;v对象通过其提供的服务在系统中发挥作用v系统中的一个对象请求另一个对象执行某个服务时,该对象响应这个请求,完成服务v在OO方法中,把向对象发出的服务请求称为消息v目前在大部分面向对象的编程语言中,消息可以与函数(或过程)调用对应v在语法上,一条消息应包括 消息名、入口
4、参数和返回参数v 在语义上,一条消息应包括 发送者、接收者和其它需传送的信息v共享相同属性、操作、方法、关系或者行为的一组对象的描述符。v相同类的所有对象必须具有相同的操作集合、相同的属性集合以及相同的关系集合。v一个对象是一个类的实例.v一个类是一个抽象,它: 强调相关的特性 隐藏不相关的特性v关联v继承v聚合v使用v实例化v元类v类之间的静态联系称作关联v关联是最普通的也是语义最弱的v是概念(对象)之间的一个有意义或者使人产生兴趣的连接v类间关联的识别通常是分析和早期设计的活动,可以帮助我们理解概念模型v建立关联原则 识别概念比识别出关联重要得多 关联太多不仅不能有效展示概念模型,反而会使
5、概念模型变得混乱 注意力集中在那些需要将概念之间的关系信息记忆一段持续时间的关联 要避免关联之间的信息冗余以及减少派生关联v关联的类型 一对一 一对多 多对多StorePOSTSalePayment11111.*1.*ContainsCapturesPaid-byv继承关系的建模要保证确实存在”is a kind of”的关系v继承关系中,子类可以替代父类,反之则不可v一个(较复杂的)对象由其它若干(较简单的)对象构成称为聚合关系v语义是”has a”或”is a part of”v聚合刻画了现实事物之间的构成关系v简单聚合:简单聚合: 描述松散、灵活的关系,例如公司与法律顾问 部分对象和整体
6、对象都是独立定义和创建的,在整体对象中设立一个属性,它的值是部分对象的标识,或者是指向部分对象的指针 在这种形式中,一个部分对象可以属于多个整体对象,生命期可以不同v组合:组合: 描述紧密、固定的关系,例如汽车与发动机 用部分对象的类作为一种数据类型,用于定义整体对象的类的属性,构成嵌套对象。 在这种形式中,一个部分对象只能属于一个整体对象vDependency(依赖) 体现“暂时使用”的含义,或者B的变更会导致A的变更 是一种暂时的关系 可以有以下几种实现方式v对象具有“全局”范围,系统中的任何对象都可以向它发送消息v一个对象可以作为一个参数传递给第二个对象v对象可以在操作内创建和破坏(即“
7、临时”对象)vAssociation(关联) 体现“use ”的含义 实现:类A的定义中有类B的指针变量ABABvAggregation(聚合) 体现“Is a part-of”(包含、拥有)的含义vComposition(组合) 体现“Is a part-of”(包含、拥有)的含义 组合与聚合的区别是组合的整体和部分的object具有相同的生命周期,而聚合则不同vGeneralization(泛化) 或 Inheritance(继承) 体现“Is a kind of”的含义 子类不仅继承了超类的attribute和operation,同时还继承了超类的relationship v类之间关系的
8、强弱顺序 依赖 关联 聚合 组合 继承 ABABsuperclasssubclassvRole(角色)表示参与关联关系的对象在关联关系中承担的角色 vMultiplicity(多重性)表示类A的一个object对应类B的几个object,代表的是business rulevNavigability(导向性 )表示对象访问的方向n右图中n0.1表示一个类B的对象可以对应0个或1个类A的对象n0.n表示一个类A的对象可以对应类B的0个或多个对象n关系上的箭头就是navigability,表示类A的对象可以访问类B的对象,但是类B的对象不能访问类A的对象,如果关系上没有箭头,表示Navigabili
9、ty是双向的v每个对象都是某个类的实例,每个类都有零个或多个实例。v类是生成对象的模板v类是静态的。所以它们的存在、语义和关系都在程序执行之前就是确定的。v对象是动态的,在应用程序的生命周期中被创建和销毁。v主要要素抽象封装模块化(聚集)层次(继承)v次要要素类型定义并发性持久性v抽象表示一个对象与其他对象相区别的基本特征,因此提供同观察者角度有关的清晰定义的概念界限。v为给定域指定正确的抽象集合是面向对象设计的核心问题。v抽象来自于对真实世界中特定对象、情况或过程之间的相似性的认识,并决定专注于这些相似性而忽略存在差异的时刻。v实体抽象 一个对象,用来表示问题域或解决方案领域中实体的有用模型
10、v行动抽象 一个对象,提供一组泛化的操作,其中所有操作都执行同类功能v虚拟机器抽象 一个对象,将全部由某个高层控制使用的操作组合在一起,或是将全部使用某个低层操作集合的操作组合在一起v重合抽象 一个对象,将互不关联的一组操作打包v封装是划分抽象的结构和行为元素的过程。封装用来分离抽象的契约接口和它的实现。v所谓封装是指将特性(属性、行为)在物理上局限于一个单独的黑盒抽象中,且将它们的实现(和相关的设计决定)隐藏于公共接口背后;v在面向对象的范式中,从系统、子系统到对象都拥有封装的特性。v封装多是由信息隐藏得到的,通过信息隐藏达到封装,信息隐藏的过程就将对象的所有与其最基本的特征无关的秘密隐藏起
11、来。通常,对象的结构和它的方法实现都是隐藏的。v每个类必须有两部分:接口和实现 类的接口仅捕获它的外观,并包括类的所有实例都有的行为的抽象。 类的实现包含抽象的表示法及得到所需行为的机制v抽象和封装都是一种简化问题的思维模式v抽象剔除了不相关的内容,以突出重点;v相对应地,封装则隐藏了相关但不需要被知道(不能被剔除)的内部细节,以减少依赖。v抽象和封装是两个互补的概念。抽象注重着重于对象的可观察行为封装着重于引起这种行为的实现v模块化是被分解成具有内聚性但松散耦合的模块的系统特性。模块化的实质-分而治之。v模块化是指将程序分成若干模块,这些模块可独立编译,但与其它模块又有联系。v分解模块的较好
12、办法是将在逻辑上相关的类和对象放到同一个模块中,只显示出那些其他模块绝对要看到的要素。v分解成模块的总目标是通过允许独立设计和修改模块来削减软件成本,每个模块的结构应尽量简单而便于被充分理解。v将某种复杂的事物分解为可以管理的分块v层次是抽象的排列或排序。v所谓层次化是指任何组织成为一种树状结构的抽象级别或顺序;v两个最重要的层次 类结构(“是一个”层次) 对象结构(层次的“一部分”)v在面向对象的范式中,层次结构包括:聚合层次结构包容层次结构类层次结构泛化层次结构继承层次结构具体化层次结构划分层次结构类型层次结构v在层次结构中级别相同的类应当处于同样的抽象级别v通过通俗简单的生活事例来演绎对
13、象建模的基本概念。v树立面向对象的世界观。v掌握用面向对象方法分析问题的要领。v为学习对象建模方法热身。客观世界世界主观世界认识世界改造世界世界是什么样的呢?E=MC2事物,运动矛盾,变化,发展X+Y=Z1+1=?类,关联,对象持不同的世界观就会得到对现实世界的不同认识建立不同的世界模型。所以,模型没有对错、只有符合建模人目的多少之分。现代目的:在计算机中模拟现实世界的物和事。传统目的:控制计算机运行。vA.这里面有什么东东?vB.每个东东看上去是什么样的?vC.每个东东能做点什么用?vD.这些东东都呆在什么地方?vE.这些东东之间有什么关系?vF.这些东东是怎么成事的?FACEBD举例说明v
14、这里面有什么东东? 月老,小伙,姑娘,恋人,玫瑰花。v每个东东看上去是什么样的? 月老,看上去有些年纪了,挺热心的。 小伙,看上去很强壮,很实诚的。 姑娘,看上去好漂亮,还很温柔。 恋人,看上去很黏糊,当然就结婚了。 玫瑰花,火红火红的,难怪姑娘动情了。本故事纯属虚构,如有雷同,请莫对号入座v月老:牵线搭桥,介绍认识。v小伙:追求献花,表达爱意。v姑娘:仰慕倾情,以身相许。v恋人:拍拖结婚。v玫瑰花:令姑娘头晕,传情示爱。v月老:婚介所,交友网站。v小伙:软件园,住唐家。v姑娘:人民医院,住新香洲。v恋人:情侣路,电影院,v玫瑰花:花店里,小伙手中,姑娘手中。关系关系月老月老小伙小伙姑娘姑娘恋
15、人恋人玫瑰玫瑰月老月老干妈舅妈撮合者没关系小伙小伙干儿子男友老公男主角买送主姑娘姑娘外甥女女友太太女主角受主恋人恋人作品组合组合使用者玫瑰玫瑰没关系信物受物心意 信物v月老牵线搭桥,介绍小伙和姑娘认识;v姑娘和小伙一见钟情,成为一对恋人;v一对恋人开始拍拖;v小伙追求献花,表达对姑娘的爱意;v姑娘收到999火红玫瑰,激动得头晕目眩;v小伙真心求婚,姑娘以身相许;v一对恋人终于走入婚姻殿堂。vA.这里面有些什么东东?v答: 这里面有的都是事物。 注:如果第一个翻译Object的人不翻译为“对象”,而是把它翻译为“事物”就好了,这样就可以省掉这个问题。v如上例, 有月老,小伙,姑娘,恋人,玫瑰等事
16、物(对象)v每个事物看上去都有自己的属性,在每个属性上都有一个特征值。v如上例中: 月老,有属性:年纪,特征值:较大; 小伙,有属性:体格,特征值:强壮; 姑娘,有属性:性情,特征值:温柔; 恋人,有属性:关系,特征值:黏糊; 玫瑰花,有属性:颜色,特征值:火红。v每个事物都具备某种能力;v这些事物有什么用,就要看它有什么能力了。 注:如果第一个翻译Method的人就把它翻译为“能力”就好了,这样也可以省掉这个问题。v如上例中: 月老有牵线搭桥,介绍认识的能力(方法); 小伙有“追求”的能力,姑娘有“嫁人”的能力; 恋人有“拍拖”的能力,玫瑰有“示爱”的能力。v每个事物都会有它合理的或者必须的
17、空间位置和逻辑位置。尤其当这些位置对事物的行为造成重要影响的时候,表明他们的位置是极其重要的。v面向对象的世界观中叫事物的部署。v事物之间的关系非常多,面向对象的观点一般分为主要的三类: 整体-部分关系,甲是乙的一个组成部分。v如恋人和小伙,恋人和姑娘的关系。 笼统-具体关系,甲是乙的一个特例。v如人和小伙,人和月老,人和姑娘的关系。 伙伴关系,甲会对乙做点什么。v如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的关系。v每个事物都会尽量利用伙伴的能力;v整体事物的能力依靠部分事物的能力;v笼统事物的属性和能力就是具体事物的属性和能力;具体事物除了有笼统事物的属性和能力外,还可以有自己特殊的。v事物
18、分工协作,互通信息,共同完成整体的目标。俗语俗语术语术语例子例子出了什么事? 用例我的一个朋友结了婚。具体事物对象我的一个朋友,他未婚妻事物类型类小伙,姑娘,玫瑰,月老属性属性年龄,体格,性情能力方法牵线,追求,结婚位置部署软件园,情侣路整-部关系聚集关系恋人-小伙,恋人-姑娘笼-具关系继承关系人-小伙,人-姑娘伙伴关系关联关系小伙-姑娘,小伙-玫瑰成事过程用例实现相识,相恋,结婚类名属性方法A属性方法B属性方法A是B的聚集A属性方法B属性方法B继承了A ,A是B的泛化A属性方法B属性方法A与B有关联对象名v还是问上述六个问题;v可以打乱顺序问,同时问;v顺着知道答案的问题问下去;v把答案用术语的图形记下来。用术语图形再次演绎古典浪漫爱情故事vA.这里面有什么东东?我我的朋友我朋友的妻子故事与“我”无关,去掉“我”,我的朋友是小伙,他妻子是姑娘,于是得到两个类:姑娘小伙v他们已经拍拖两年了,如胶似漆,你情我愿,不就成了。v拍拖必须是一对恋人所为,于是出来:旁白:一对恋人是由一个姑娘和一个小伙组成,一对恋人能够拍拖,关系黏糊,也就能结婚了。姑娘出嫁恋人关系黏糊拍拖结婚11小伙娶亲v两年前,姑娘的舅妈介绍他俩认识,他俩一见钟情,于是便拍起拖来了。v舅妈是月老,可能撮合了好多对恋人,我朋友他们只不过是其中一对,于是得到:恋人关系拍拖结婚月老撮合促成小伙
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年人才租赁合同范本
- 社区合作协议范本
- 泵房拆除后场地复垦方案
- 2024年工厂区物业管理合同
- 2024年专业炉渣运输服务协议
- 神经系统治疗服务合同
- 2024年口罩零售商供货合同
- 2024年劳动保障升级:雇佣合同新范本
- 高空抛物风险评估方案
- 2024年企业客户关系管理服务合同
- 中小学119消防宣传月活动方案3篇
- 中汇富能排矸场设计
- 2024年保安员证考试题库及答案(共160题)
- 江苏省苏州市市区2023-2024学年五年级上学期期中数学试卷
- 2024年大学试题(财经商贸)-统计预测与决策考试近5年真题集锦(频考类试题)带答案
- 大学生职业生涯规划成品
- 主要负责人和安全生产管理人员安全培训课件初训修订版
- 人教版2024新版八年级全一册信息技术第1课 开启物联网之门 教学设计
- 2024220kV 预制舱式模块化海上风电升压站
- 2024秋期国家开放大学《国家开放大学学习指南》一平台在线形考(任务一)试题及答案
- 2024年新人教版道德与法治一年级上册 9 作息有规律 教学课件
评论
0/150
提交评论