在大色同志的英明领导和精辟讲解下,本人小色同学今天正式走进面向对象的世界。下面就今天所学做一下总结,作为复习和巩固。
1 面向对象概念的理解
1.1 对象(Object)
说到面向对象,首先要了解“对象”一词的含义,用白大色同志的话可以这样描述:对
象就是现实世界中的一切实体,是可以切切实实存在的东西。比如桌子、椅子、风扇等等,这些东西都是实实在在在我们世界中存在的。具体到程序中的对象,可以理解为在内存中分配空间的一切实体(这个让俺反映的半天,终于反过劲来了),这个可能猛看上不大好理解,但是细想确实就是这样。对象是实体,当然要占据一定的空间咯。
1.2 类(Class)
类可以理解为对象的一个抽象,把具有相同属性和方法的对象进行抽象提取后所构成的
集合。类其实就是对象的模板,而对象则是类的实例。这也概括出了类和对象关系,如图1-1所示。
图 1-1
1.3 面向对象(OO)
面向对象 = 对象 + 类 + 继·承 + 通信
2 UML —— 统一建模语言
2.1 用例图(Use Case)
用例图描述的是参与者所理解的系统功能,他描述的是一个系统做什么,而不是说明怎
么做,它并不关心系统设计。用例图共包含三类元素,分别是:参与者、用例、关系。其中关系又包含关联关系、泛化关系、依赖关系(包含关系(include)、扩展关系(extend))。
l 参与者(Actor)
参与者在用例图中指的是用户在系统中所扮演的角色,但是这里的参与者并不一定指人,
他可以是一个外界系统,该系统可能需要从当前系统获取信息,而与当前系统进行交互。在用例图中,参与者一般用一个小人形状的图形表示,如图1-2所示。
图1-2
l 用例(Used Case)
用例其实是对系统用户的需求描述,它用来描述系统所提供的功能和服务。在用例图中,
用例是用一个椭圆来表示,用例的名字写在椭圆的下面或里面,如图1-3所示。
图 1-3
l 关系(Relation)
用例图中的关系主要包含三大类,它们分别是关联关系(Association)、泛化关系
(Generalization)和依赖关系(Dependency),其中依赖关系又分为包含关系(include)和扩展关系(extend)。下面分别就这几类关系进行介绍。
1. 关联关系(Association)
关联关系主要描述参与者和用例之间以及用例和用例之间的交互关系。在实际应用中,
一般用一条直线或带箭头的线来表示关联关系,如图1-4所示。
图1-4 关联关系
2. 泛化关系(Generalization)
泛化关系描述的是参与者之间的抽象与具体、一般与特殊的关系。泛化关系一般用图
1-5所示的箭头线来表示。
图1-5 泛化关系
3. 依赖关系(Dependency)
依赖关系主要描述的是用例和用例之间的关系。具体来讲,依赖关系又分为两种,分别
是包含关系和扩展关系。
n 包含关系(include)
包含关系实际上是指一个用例需要用到其他用例的功能而建立的这两个用例之间的关
系。包含关系一般用图1-6所示的图形来表示。
图1-6 包含关系
n 扩展关系(extend)
扩展关系指的是某一个用例对另一个用例的功能上的扩展。扩展关系一般用图1-7所示
的图形来表示。
图1-7 扩展关系
通过以上介绍,大体了解的UML中构成用例图的各部分的功能,下面我们用一个具体的上课的用例图(如图1-8所示)的例子作为本次学习的总结。
图1-8 上课—用例图