• 第七章:类图


     

    指向由指向的对象类实现

    无箭头,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.实现
    这里写图片描述
    表示一个类实现一个或多个接口的方法。接口定义好操作的集合,由实现类去完成接口的具体操作

  • 相关阅读:
    生成类似于MongoDB产生的ObjectId
    链式编程:遇到多个构造器参数(Constructor Parameters)时要考虑用构建器(Builder)
    mysql时间字符串按年/月/天/时分组查询 -- date_format
    根据模板导出excel
    九度 1188 约瑟夫环问题
    快速排序
    Linux 命令
    volatile小记
    线程池ThreadPoolExecutor
    CyclicBarrier、CountDownLatch与Semaphore的小记
  • 原文地址:https://www.cnblogs.com/invisible2/p/9083295.html
Copyright © 2020-2023  润新知