接口是一个分类器,它声明一组一致的公共特性和义务。接口指定合同。实现(实现)接口的分类器的任何实例都必须实现该契约,从而提供契约描述的服务。
因为接口是声明,所以它们是不可实例化的。相反,接口规范是由可实例化分类器的实例实现的,这意味着可实例化分类器提供了符合接口规范的公共外观。
任何给定的分类器都可以实现多个接口。接口可以由许多不同的分类器实现。
接口和任何其他分类器之间的关联意味着该接口的任何实现和该其他分类器之间必须存在一致的关联。尤其是,接口之间的关联意味着接口实现之间必须存在一致的关联。
符号
可以使用矩形符号显示接口, 在名称前面有关键字《interface》。
SiteSearch 接口
与接口相关联的义务以各种约束(如前置和后置条件)或协议规范的形式存在,这些约束可能会对通过接口的交互施加排序限制。
可分页接口
由分类器实现的接口是其 提供的接口,并且表示该分类器的实例对其客户端的义务。他们所描述的服务是该分类提供给他们的客户的实例。
参与接口实现依赖关系的接口显示为一个圆或球,用接口名称标记,并用实线连接到实现该接口的分类器
SiteSearch 接口由SearchService
实现(实现)。
所需的接口指定分类器执行其功能和履行其对客户机的义务所需的服务。它由分类器和相应接口之间的使用依赖关系指定
从分类器到接口的使用依赖性是通过用半圆或套接字表示接口来表示的,用接口名称标记,并用实线连接到需要此接口的分类器。
SearchController
使用(必需) SiteSearch 接口。
实践中,通常情况下,两个或多个接口通过特定于应用程序的依赖关系相互耦合。在这种情况下,每个接口代表多方“协议”中的特定角色。这些类型的协议角色耦合可以通过接口之间的关联来捕获。
UML中的接口可以用作其他分类器的命名空间,包括类、接口、用例等。嵌套的分类器仅在包含接口的命名空间中可见。
修订
在UML 1.4中,接口形式上等价于一个没有属性、没有方法、只有抽象操作的抽象类。
|