• 【6】c++设计模式——>UML表示类之间的依赖关系


    依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系,大多数情况下依赖关系体现在某个类的方法使用另一个类的对象作为参数。
    在UML中,依赖关系用带箭头的虚线表示由依赖的一方指向被依赖的一方,下面举两个依赖关系的例子:
    驾驶员(Driver)开车,需要将车(Car)对象作为参数传递给 Driver 类的drive()方法。

    class Car 
    { 
    public: 
        void move() {}
    }; 
    
    class Driver 
    {
    public: 
        void drive(Car car) 
        { 
            car.move(); 
        } 
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    树木(Tree)的生长,需要将空气(Air)、水(Water)、土壤(Soil)对象作为参数传递给 Tree 类的 grow()方法。树木依赖空气,水土壤,树木是依赖,空气是被依赖,被树木依赖。

    class Water
    {
    };
    
    class Air
    {
    };
    
    class Soil
    {
    };
    
    class Tree
    {
    public:
        void grow(Water w, Air a, Soil s) 
        {
            cout << "借助 w 中的水分, s 中的养分和 a 中的二氧化碳, 我就可以茁壮成长了";
        }
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述
    依赖关系通常通过三种方式来实现:
    1.将一个类的对象作为另一个类中方法的参数
    2.在一个类的方法中将另一个类的对象作为其对象的局部变量
    3.在一个类的方法中调用另一个类的静态方法
    类之间的关系强弱顺序是这样的:继承(泛化) > 组合 > 聚合 > 关联 > 依赖。

  • 相关阅读:
    二维码智慧门牌管理系统:信息安全与运行安全
    《C Primer Plus》第12章复习题与编程练习
    c语言操作符(超详解)
    swagger
    类和对象(8):explicit,static成员,友元,内部类
    【Python】Python基础语法
    Rust基础入门之(基本类型)
    polarssl网址
    B03_02可转债转股
    Vue3+node.js网易云音乐实战项目(六)
  • 原文地址:https://blog.csdn.net/weixin_42097108/article/details/133552228