1. UML 是什么?全称怎么拼写?与 Java、C++这些语言有什么不同?
- UML:是一个通用的可视化建模语言
UML:Unified Modeling Language
- UML 是建模语言,在系统分析与设计阶段使用;Java、C++ 是编程语言,在程序编码阶段使用
2. 什么是类?什么是类图?
- 类(Class):具有相同
数据和行为
对象集合的总称 - 类图(Class Diagram):①描述类的内部结构 ②描述不同类之间的关系

3. 在类中成员 数据和方法
的可见性
通常来说有四种类型,分别哪四种?在 UML 如果标识它们?
-
public:
用 UML 中的+
标识 -
protected:
用 UML 中的#
标识 -
private:
用 UML 中的-
标识 -
default:
用 UML 中的 `` 标识

4. 关联关系的含义?怎么用 UML 表示?如何映射成代码?
- 含义:has;表示
拥有
- UML: →
- 代码:将一个类的对象作为另一个类的成员变量

5. 聚合关联,是关联关系的子类型。聚合关联的含义?怎么用 UML 表示?如何映射成代码?
- 含义:表示整体与部分的关系,成员变量是整体对象的一部分,但是成员变量可以脱离对象独立存在
- UML:用带空心棱形的直线表示
- 代码:① 成员属性 ② 采用注入的方式给属性赋值

6. 组合关系,是关联关系的子类型。含义?UML 怎么表示?如何映射成代码?
- 含义:也表示整体与部分,成员变量是整体对象的一部分,但是整体对象可以控制成员变量的生命周期,一旦整体对象不存在,成员对象也不存在。
- UML:带实心菱形的直线表示
- 代码:① 成员属性 ② 采用 new 的方式在整体对象内部创建

7. 依赖关系的含义?UML 怎么表示?如何映射成代码?
- 含义:一个事物使用另一个事物
- UML:带箭头的虚线表示
- 代码:一个类的方法调用,需要另一个类或对象作为参数

8. 泛化关系的含义?UML 怎么表示?如何映射成代码?
- 含义:描述父类与子类之间的关系
- UML:带空心三角箭头的实线表示
- 代码:extend

9. 实现关系的含义?UML 怎么表示?如何映射成代码?
- 含义:描述类与接口之间的关系
- UML:带空心三角箭头的虚线表示
- 代码:implement

网友评论