第2章面向对象方法学导论

上传人:无*** 文档编号:164918006 上传时间:2022-10-25 格式:PPT 页数:64 大小:959.50KB
收藏 版权申诉 举报 下载
第2章面向对象方法学导论_第1页
第1页 / 共64页
第2章面向对象方法学导论_第2页
第2页 / 共64页
第2章面向对象方法学导论_第3页
第3页 / 共64页
资源描述:

《第2章面向对象方法学导论》由会员分享,可在线阅读,更多相关《第2章面向对象方法学导论(64页珍藏版)》请在装配图网上搜索。

1、熟悉并使用类熟悉并使用类 C+标准库提供了标准库提供了string类,类,string类的属性是一类的属性是一个字符串个字符串str,同名函数,同名函数string是用来初始化符串,是用来初始化符串,另外另外3个成员函数用来对个成员函数用来对属性属性str进行操作。进行操作。当定义了一个对象后,这当定义了一个对象后,这 个个对象可以通过这些成员函对象可以通过这些成员函数展现自身的特性。数展现自身的特性。stringstrstring()find()size()substr()使用使用stringstring类的例子类的例子#include#include using namespace std

2、;void main()string str1(We are here!);string str2;coutstr10str111,str1endl;coutstr2;/输入输入 一个单词给对象一个单词给对象str2coutlength of str2 isstr2.size()endl;string newstr=str2.substr(3,1);/从从 str2的第的第3位开始截取位开始截取1个字符个字符coutnewstr=newstrendl;int i=str1.find(“are”,0);/从字符串从字符串str1的位置的位置0开始检索开始检索arecouti=iendl;类命名时

3、应遵守以下几条准则:类命名时应遵守以下几条准则:使用标准术语。使用标准术语。使用具有确切含义的名词。使用具有确切含义的名词。必要时用名词短语作名字。必要时用名词短语作名字。总之,名字应该是富于描述性的、简洁的而且无二义总之,名字应该是富于描述性的、简洁的而且无二义性的。性的。定义属性定义属性UMLUML描述属性的语法格式如下:描述属性的语法格式如下:可见性可见性 属性名属性名:类型名类型名 =初值初值 性质串性质串 属性的可见性(即可访问性)通常有下述属性的可见性(即可访问性)通常有下述3 3种:种:公有的(公有的(publicpublic)用加号)用加号(+)(+)表示表示私有的(私有的(p

4、rivateprivate)用减号)用减号()表示表示和保护的(和保护的(protectedprotected)用井号)用井号()表示表示如果未声明可见性,则表示该属性的可见性尚未定义。如果未声明可见性,则表示该属性的可见性尚未定义。例如:例如:“学生学生”类的属性类的属性“学号学号”,可以这样描述:,可以这样描述:学号:学号:String=“020010”String=“020010”定义服务定义服务服务也就是操作,服务也就是操作,UMLUML描述操作的语法格式如下:描述操作的语法格式如下:可见性可见性 操作名操作名(参数表参数表):):返回值类型返回值类型 性质串性质串 操作可见性的定义方

5、法与属性相同。操作可见性的定义方法与属性相同。参数表是用逗号分隔的形式参数的序列。参数表是用逗号分隔的形式参数的序列。描述一个参数的语法如下:描述一个参数的语法如下:参数名参数名:类型名类型名=默认值默认值 关联关联关联表示两个类的对象之间存在某种语义上的联系。关联表示两个类的对象之间存在某种语义上的联系。普通关联普通关联普通关联是最常见的关联关系,只要在类与类之间存在连普通关联是最常见的关联关系,只要在类与类之间存在连接关系就可以用普通关联表示。普通关联的图示符号是连接两接关系就可以用普通关联表示。普通关联的图示符号是连接两个类之间的直线个类之间的直线 。关联的角色关联的角色 例如:一个人与

6、另一个人结婚,必然一个人扮演丈夫例如:一个人与另一个人结婚,必然一个人扮演丈夫的角色,另一个人扮演妻子的角色。的角色,另一个人扮演妻子的角色。限定关联限定关联 限定关联通常用在一对多或多对多的关联关系中,可限定关联通常用在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一,或从多对多简化以把模型中的重数从一对多变成一对一,或从多对多简化成多对一。成多对一。例如,某操作系统中一个目录下有许多文件,一个文件仅属于一例如,某操作系统中一个目录下有许多文件,一个文件仅属于一个目录,在一个目录内文件名确定了惟一一个文件。个目录,在一个目录内文件名确定了惟一一个文件。关联类关联类为了说明关联

7、的性质可能需要一些附加信息。可以引为了说明关联的性质可能需要一些附加信息。可以引入一个关联类来记录这些信息。入一个关联类来记录这些信息。例如,图例如,图2.92.9是一个电梯系统的类模型,队列就是电梯控制器类与是一个电梯系统的类模型,队列就是电梯控制器类与电梯类的关联关系上的关联类。电梯类的关联关系上的关联类。聚集聚集聚集也称为聚合,是关联的特例。聚集表示类与类之聚集也称为聚合,是关联的特例。聚集表示类与类之间的关系是整体与部分的关系。间的关系是整体与部分的关系。共享聚集共享聚集如图如图2.102.10所示。一般聚集和共享聚集的图示符号,都所示。一般聚集和共享聚集的图示符号,都是在表示关联关系

8、的直线末端紧挨着整体类的地方画一个是在表示关联关系的直线末端紧挨着整体类的地方画一个空心菱形。空心菱形。组合聚集组合聚集 图图2 2 11 11是窗口的组成,从图上可以看出组成关系用实心棱形是窗口的组成,从图上可以看出组成关系用实心棱形表示。表示。UMLUML中的泛化关系就是通常所说的继承关系,中的泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的分类关系。它是通用元素和具体元素之间的分类关系。泛化可进一步划分成普通泛化和受限泛化。泛化可进一步划分成普通泛化和受限泛化。依赖和细化依赖和细化 依赖关系依赖关系 依赖关系描述两个模型元素(类、用例等)之间的语依赖关系描述两个模型元素(类、

9、用例等)之间的语义连接关系。义连接关系。细化关系细化关系 当对同一个事物在不同抽象层次上描述时,这些描述当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。之间具有细化关系。动态模型表示瞬时的、行为化的系统的动态模型表示瞬时的、行为化的系统的“控制控制”性质,它规定了对象模型中的对象的合性质,它规定了对象模型中的对象的合法变化序列。法变化序列。状态是任何可以被观察到的系统行为模状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。式,一个状态代表系统的一种行为模式。事件是在某个特定时刻发生的事情,它是事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个

10、状态转换到对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。另一个状态的外界事件的抽象。在状态图中,初态用实心圆表示,终态用在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。一对同心圆(内圆为实心圆)表示。活动表的语法格式如下:活动表的语法格式如下:事件名事件名(参数表参数表)/)/动作表达式动作表达式事件表达式的语法如下:事件表达式的语法如下:事件说明事件说明 守卫条件守卫条件/动作表达式动作表达式其中,事件说明的语法为:事件名其中,事件说明的语法为:事件名(参数表参数表)功能模型表示变化的系统的功能模型表示变化的系统的“功能功能”性质,性质,它指明了系统

11、应该它指明了系统应该“做什么做什么”,因此更直接地反,因此更直接地反映了用户对目标系统的需求。映了用户对目标系统的需求。系统系统系统被看作一个提供用例的黑盒子,内部如何系统被看作一个提供用例的黑盒子,内部如何工作对于建立用例模型都不重要。工作对于建立用例模型都不重要。用例用例用例具有下述特征用例具有下述特征:用例代表某些用户可见的功能,实现一个具用例代表某些用户可见的功能,实现一个具体的用户目标;体的用户目标;用例总是被行为者启动的,并向行为者提供用例总是被行为者启动的,并向行为者提供可识别的值;可识别的值;用例必须是完整的。用例必须是完整的。行为者行为者 行为者是指与系统行为者是指与系统交互

12、的人或其他系交互的人或其他系统,它代表外部实统,它代表外部实体。使用用例并且体。使用用例并且与系统交互的任何与系统交互的任何人或物都是行为者。人或物都是行为者。寻找行为者寻找行为者寻找用例寻找用例注意注意:最后这两个问题并不意味着没有行为者也可最后这两个问题并不意味着没有行为者也可以有用例,只是在获取用例时还不知道行为者是以有用例,只是在获取用例时还不知道行为者是谁。事实上,一个用例必须至少与一个行为者相谁。事实上,一个用例必须至少与一个行为者相关联。关联。针对每个类建立的动态模型,描述了类实例的生命周期或针对每个类建立的动态模型,描述了类实例的生命周期或运行周期。运行周期。状态转换驱使行为发

13、生,这些行为在用例图中被映射成用状态转换驱使行为发生,这些行为在用例图中被映射成用例,它们同时与类图中的服务相对应。例,它们同时与类图中的服务相对应。功能模型中的处理(或用例)对应于对象模型中的类所提功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。通常,复杂的处理(或用例)对应于复杂对象提供的服务。通常,复杂的处理(或用例)对应于复杂对象提供的服务,简单的处理(或用例)对应于更基本的对象提供供的服务,简单的处理(或用例)对应于更基本的对象提供服务。有时一个处理(或用例)对应多个服务,也有一个服服务。有时一个处理(或用例)对应多个服务,也有一个服务时应多个处理(或用例)的时候。务时应多个处理(或用例)的时候。用例图中的行为者,可能是对象模型中的对象。用例图中的行为者,可能是对象模型中的对象。功能模型中的处理(或用例)可能产生动态模型中的事件。功能模型中的处理(或用例)可能产生动态模型中的事件。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!