使用接口时的UML聚合

使用接口时的UML聚合

UML aggregation when interfaces are used

如何在UML中表示两个类之间的聚合关系,以使每个类都有到另一个类的接口的链接,而不是到实现类的链接?

例如。 我有一个实现iFoo的类Foo和一个实现iBar的Bar。 Foo应该具有iBar类型的成员变量,而Bar应该具有iFoo类型的成员变量。

如果我在两个实现类之间创建一个聚合,则该成员将是实现类的类型,而不是超类。 接口之间的聚合在UML中是无效的(并且没有太大意义)。


接口不是可实例化的,因此Bar不能具有iFoo类型的属性,而Foo不能具有iBar类型的属性。

您说您不希望Bar和Foo之间建立关联。 因此,您可以创建一个新的类(FooEx),并让该类实现iFoo。 然后,Bar可以具有与FooEx而不是Foo的关联。


您可以没有Foo(实现)聚合iBar(界面)吗? 在我看来,这是描述这种关系的正确方法。

所以像这样:

1
2
3
4
5
6
7
8
9
-----------------      -----------------
| <<interface>> |      | <<interface>> |
|     iFoo      |<>  <>|     iBar      |
-----------------  \/  -----------------
        ^          /\          ^
        |         /  \         |
-----------------/    \-----------------
|      Foo      |      |      Bar      |
-----------------      -----------------

推荐阅读

    linux命令查看接口?

    linux命令查看接口?,系统,设备,地址,网络,信息,电脑,软件,情况,命令,灵活,lin

    linux硬链接删除命令?

    linux硬链接删除命令?,数据,系统,不了,时间,名称,链接,文件,档案,地方,设备,l

    linux常用链接命令?

    linux常用链接命令?,系统,工作,地址,网络,信息,命令,密码,管理,标准,服务,在L

    linux链接网络命令行?

    linux链接网络命令行?,地址,系统,网络,工作,软件,工具,信息,密码,服务,标准,l

    linux命令下载链接?

    linux命令下载链接?,软件,名称,系统,工具,网络,官网,代理,命令,平台,位置,lin

    linux系统软链接命令?

    linux系统软链接命令?,位置,系统,链接,文件,服务,地址,标准,交通,异常,软件,

    linux创建硬链接命令?

    linux创建硬链接命令?,数据,系统,链接,地方,信息,文件,概念,时间,位置,工作,L

    linux文件链接命令?

    linux文件链接命令?,系统,工作,地址,命令,网络,信息,工具,基础,管理,目录,lin

    查看linux类型命令?

    查看linux类型命令?,系统,信息,命令,状态,数据,数字,情况,地址,类型,文件,lin

    linux重新链接库命令?

    linux重新链接库命令?,代码,软件,平台,产品,电脑,系统,入口,市场,工业,通信,l

    linux删除类型命令?

    linux删除类型命令?,系统,档案,命令,文件,名称,环境,数据,不了,目录,文件夹,

    linux链接远程命令?

    linux链接远程命令?,系统,地址,网络,密码,软件,名称,工具,服务,电脑,认证,如

    查看linux库类型命令?

    查看linux库类型命令?,系统,工作,信息,状态,电脑,命令,工具,代码,地址,发行,

    linux命令行链接网络?

    linux命令行链接网络?,网络,系统,地址,工作,工具,最新,网址,数据,信息,环境,l

    linux查看接口命令?

    linux查看接口命令?,地址,系统,标准,命令,管理,工作,文件,端口,目录,路径,lin

    linux网卡类型命令?

    linux网卡类型命令?,网络,系统,地址,信息,设备,状态,服务,名称,名字,网卡,如

    linux动态链接库命令?

    linux动态链接库命令?,代码,项目,工程,电脑,网上,文件,程序,静态,命令,目录,

    linux取消链接命令行?

    linux取消链接命令行?,工具,状态,环境,数据,命令,文件,终端,模式,指令,界面,l

    使用linux命令调接口?

    使用linux命令调接口?,网络,系统,地址,信息,工具,情况,服务,灵活,电脑,名称,

    linux删除硬链接命令?

    linux删除硬链接命令?,工作,数据,系统,信息,链接,命令,设备,名称,不了,概念,l