如图9-7所示,鸟和动物之间是泛化关系。图9-6 依赖关系示例图9-7 泛化关系示例3.关联关系关联关系是一种结构关系,它指明一个类与另一个类之间的联系,最普通的关联是二元关联。在UML中,关联关系用一条连接两个类的实线表示。图9-11 组合关系示例4.实现关系实现关系通常用在两种情况:接口和实现接口的类之间,用例以及实现该用例的协作之间。......
2023-11-23
类是一组具有相同数据结构和相同操作的对象的集合。类是对象的抽象,它将一组数据属性和在数据上的一组合法操作抽象封装。类好比是一个对象模版,基于类就可以生成多个具有不同属性值的对象。在类的定义中,可以为某个属性指定一个值,作为它的默认值。
例如销售订单是记录对客户销售项目或服务的交易记录,可以建立一个销售订单类。销售订单类具有相同的属性,例如订单号、订单日期等;也具有相同的操作,如计算订单总数,不同的销售订单可以通过订单号的属性值进行区分。
1.类的声明
类的声明通过class关键字来实现。声明的同时,需要在类体中定义该类的属性、方法。下面通过一个例子来讲解。
这个例子定义了一个形状(Shape)类,它有3个成员变量length、width、a和5个方法。关于方法的定义,读者一般都比较熟悉,有方法名、方法体、参数、返回类型,在此就不加赘述。这里比较特殊的是,多个方法具有相同的名字,类的定义是否会出错呢?
从上述对Shape类的声明中,可以获取以下信息:
1)类的成员变量既可以是基本数据类型,例如float与int,也可以是类类型,例如另外定义的一个类——Rectangle类。类的变量还可以是类变量,即用static修饰。(www.chuimin.cn)
2)类体中可以有构造方法。构造方法是一种特殊的方法,即构造方法的名字和类名完全相同,没有任何返回类型。构造方法用于建立对象,如果类体中没有建立构造方法,就会调用系统默认的构造方法。
3)类体中的方法可以使用重载。重载是指多个方法具有相同的名字,但是参数列表必须不同(参数个数不同、类型不同或者个数和类型都不同)。灵活运用方法重载,可以满足同一类的不同对象多样化的要求。例如,都是Shape类,都有求面积的功能,但是不同形状的物体求面积的方法不一样。通过方法重载,可以满足形状的多种求面积的算法。但如果方法重载使用不当,程序就会出错。使用方法重载时,参数的名称和返回类型不参与比较。
2.抽象类
抽象类又叫抽象基类,在定义的时候使用abstract关键字标记的一般类。可包含一般类所包含的所有特性,例如属性、方法。另外还包含一个很特殊的方法,即抽象方法(这些方法基本上是没有执行代码的函数标题,而派生于该类的类就必须提供执行的代码),但它不能被实例化,主要用在类的定义和部分实现,所以需要在扩充类中完整地扩充并实现功能。
抽象类的声明如下所示:
有关信息系统开发方法与实践教程的文章
如图9-7所示,鸟和动物之间是泛化关系。图9-6 依赖关系示例图9-7 泛化关系示例3.关联关系关联关系是一种结构关系,它指明一个类与另一个类之间的联系,最普通的关联是二元关联。在UML中,关联关系用一条连接两个类的实线表示。图9-11 组合关系示例4.实现关系实现关系通常用在两种情况:接口和实现接口的类之间,用例以及实现该用例的协作之间。......
2023-11-23
UML是一种通用建模语言,它本身具有的可扩展性使其不仅可以用于软件系统开发各个阶段的建模,也可以用于商业和其他几乎所有类型的建模。总体来说,UML由以下几个部分构成。模型元素UML中的模型元素包括事物以及事物之间的联系。通用机制UML提供的通用机制可以为模型元素提供额外的注释、信息或语义。UML的组成结构如图6-1所示。图6-1 UML结构图用例图和类图是面向对象系统开发的重点内容。......
2023-11-23
信息系统的开发具有长期性、复杂性和风险性,需要科学的方法论作指导。常用的信息系统开发方法有结构化系统开发方法、面向对象系统开发方法和原型法三种。像决策支持系统这种具有开发性而无固定需求范围的系统,更适合用原型法进行开发。图1-15 原型法的开发过程本书的第2~5章主要讲述的是结构化的系统开发方法;第6~15章,主要介绍的是面向对象的系统开发方法。......
2023-11-23
如图9-2所示,显示了图书管理系统中书的类。图9-2 类的示例隐藏属性部分和操作部分,并不代表没有属性或操作,只是没有显示出来。在UML中,属性的语法为:[可见性]属性名[:类型][=初始值][{属性字符串}]]内的部分表示是可选的。UML中不存在默认的可见性,如果没有显示任何符号,则表示没有定义该属性的可见性。在UML中,接口的表示方法有两种,如图9-5所示。......
2023-11-23
本节首先介绍用例图的基本概念。理解这些概念是正确绘制用例图的基础。用例使用系统与一个或多个参与者之间的一系列消息来描述系统间的交互。用例图由以下元素组成:●参与者:也称为角色,它代表系统的用户。画用例图时,有时并不画出系统边界,但边界却是存在的。用例图可以包含注释和约束,还可以包含包,用于将模型中的元素组合成更大的模块。图8-1 用例图示例在需求分析中,用例图只说明系统具有哪些功能,不必说明如何实现。......
2023-11-23
用例是一组动作序列的描述,系统执行这些动作,并产生传递参与者意愿的可观察结果。用例的名字是一个字符串,分为简单名和路径名两种方式。用例Mainte nance是属于包Business的。基于这些参与者及其需求,通过回答前面的问题,可以建立如下用例:●记录成绩。......
2023-11-23
继承是指子类可以自动拥有父类的全部属性和操作。另外如图7-2所示,表示出了几种类之间的继承关系,位于上层的类是下层类的直接或间接父类,最下层是几种类实例化成的对象。图7-1 继承的描述图7-2 继承的例子继承性又分为单重继承和多重继承两类。单重继承时一个子类只能有一个父类,多重继承时一个子类可以有多于一个的父类。单重继承构成的类之间关系是一棵树,多重继承构成的类之间的关系是一个图。继承具有传递性。......
2023-11-23
相关推荐