第七章:类图

 

指向由指向的对象类实现

无箭头,A中有B,B中有A,有箭头的如上图

限定符应用与1对多,限定符端是1,限定符是区别右边集合的主键

关联就是类与类间的关系

xor二选一,账户要么是人要么是单位。用的最多。

聚合:弱,可有可无

组合:强,必须有

泛化由子类指向父类。

 

price是导出属性。

 

 

用例图  鲁棒分析图  顺序图   协作图  类图 

一个类必须有明确的职责,并把职责做好

分析类图就是鲁棒分析图,只给名称。

设计分析类图属性方法都给出。

最好的办法:用例  鲁棒   迭代出 设计类

中大型项目用这种方法十分耗费时间。

对象图是整个类图运行时某一时刻的状态的展现,注意对象图中没有方法,只有属性。

  • 1
  • 2

1.依赖
这里写图片描述
依赖关系的定义为:对于两个相对独立的对象,当一个对象依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。一般是A中的某个方法把B的对象作为参数使用或者在A中的某个方法中作为局部变量使用

#include "B.h"
class A
{
    void fun(B& b);
};
  • 1
  • 2
  • 3
  • 4
  • 5

2.关联
对于两个相对独立的对象,当一个对象与另一个对象有种某种对应关系,这两个对象之间为关联关系,比如老师和学生。关联分为单向关联,双向关联和自身关联,实现方法一般是A中包含B的某个指针或者引用。

#include "B.h"
class A
{
    B* b;
}
  • 1
  • 2
  • 3
  • 4
  • 5

3.聚合
聚合是关联关系的一种,耦合度比关联关系强,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是平等关系,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。比如:
张三和李四,是关联;而张三和张三的杯子是聚合。

#include "B.h"
class A
{
    B* b;
}
  • 1
  • 2
  • 3
  • 4
  • 5

4.组合
这里写图片描述
组合是耦合度比聚合还强的一直关系,类和类之间的关系是“整体-部分”的关系,整体和部分具有相同的生命周期,部分不能脱离整体而独立存在,比如:人和身体,身体是人的一部分,不能独立存在。代码实现为A中包含B的成员变量

#include "B.h"
class A
{
    B b;
}
  • 1
  • 2
  • 3
  • 4
  • 5

5.继承
这里写图片描述
继承是类和类之间存在父子关系,子类继承父类的属性和方法
6.实现
这里写图片描述
表示一个类实现一个或多个接口的方法。接口定义好操作的集合,由实现类去完成接口的具体操作

原文地址:https://www.cnblogs.com/invisible2/p/9083295.html