UML(unified modeling language)是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。 UML描述了一个系统的动态结构和静态结构。
下面我们来理解一些概念:
1、面向技术的特性
2、什么是建模?为什么要进行建模?
(1)模型:现实的简化,把复杂系统变为小系统,采用“逐个击破”的原则主意解决。
(2)一副图顶的上千言万语
3、什么是类?抽象类又是什么?什么时候用抽象类?具体类?
(1) 类是对一组具有相同属性、方法、关系、语义的对象的描述。一个类实现一个或多个接口。
例子:people是man和woman的抽象,而man和woman是people的对象
类的目的:一是对对象进行分类;二是用于详细说明用于刻画对象的机构。
(2)抽象类是声明方法的存在而不去实现它的类(也可理解为一个类中没有包含足够的信息来描绘一个具体的对象)
- 抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。
- 允许(但不要求)抽象类包含抽象成员。
- 抽象类不能被密封
(3)抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
例子:animal是people和cat的抽象类,而people不是具体的对象
(4)具体类:可以定义其实例。
区别:抽象类用斜体表示
4、什么是接口?接口与抽象类的区别?
(1)接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
(2)区别
- 抽象类是一个不完全的类,需要子类来完善它。
- 接口只是对类的约束,它仅仅承诺了类能够调用的方法。
- 一个类一次可以实现若干个接口,但一个类只能继承一个父类。
例子:
普通类—我们普通人
抽象类—芙蓉姐姐(人人都有打破思想保守的能力,但是只有芙蓉姐姐有胆量)
接口—蜘蛛侠、超人(实现了借口就相当于有了某种特殊功能)
5、什么是协作?
协作定义了一个交互,它是由一组共同工作以提供某协作的角色和其他元素构成的群体,这些协作行为大于所有元素的各自行为的总和。
6、主动类和非主动类(以后再补充)
主动类(active classes)是指具有主动发起动作的类,是行为的发起者,而非主动类则不会主动发起动作,只是被动的被触发或调用。主动类在左右边框多一条竖线。
7、属性、操作
属性用于描述结构特征,而操作用于描述行为特征。
8、什么是参数?约束?类型?
参数(parameter)是用于指定一个变量是如何传入或是传出一个被调用的行为特征的,比如操作。
约束(constraint)为一个元素定义了额外的语义,在UML规范中已经定义了好几种约束,用户也可以根据自己的需要定义自己的约束。
类型(type)是一系列值的表示,一个有类型的元素,其值不可能超过其类型所限定的值。