Java 如何在类图中表示与接口类有关系的抽象类

Java 如何在类图中表示与接口类有关系的抽象类,java,interface,uml,abstract,class-diagram,Java,Interface,Uml,Abstract,Class Diagram,我必须用最少一个抽象类和接口来绘制图表。我认为在这里实现接口类是个好主意。我的表是customer,它是抽象类。interface类显示了需要包含在这两种类型的客户中的方法。我的问题是,我是如何呈现一个与interface类连接的抽象类的。我应该将customer类留空吗?使用抽象类的接口是错误的吗 这是我的图表: 接口不是一个类。下文给出了以下定义: 在Java编程语言中,接口是引用类型, 类似于类,它只能包含常量、方法 签名、默认方法、静态方法和嵌套类型。方法 实体仅存在于默认方法和静态方法

我必须用最少一个抽象类和接口来绘制图表。我认为在这里实现接口类是个好主意。我的表是customer,它是抽象类。interface类显示了需要包含在这两种类型的客户中的方法。我的问题是,我是如何呈现一个与interface类连接的抽象类的。我应该将customer类留空吗?使用抽象类的接口是错误的吗

这是我的图表:

接口不是一个类。下文给出了以下定义:

在Java编程语言中,接口是引用类型, 类似于类,它只能包含常量、方法 签名、默认方法、静态方法和嵌套类型。方法 实体仅存在于默认方法和静态方法中。接口 无法实例化它们只能由类或 由其他接口扩展

同一页提到

在软件工程中,有许多情况是 对于不同的程序员群体来说,同意一份合同很重要 这说明了他们的软件是如何交互的。每个小组都应该 能够编写自己的代码,而不知道对方是如何编写的 组的代码是编写的。一般来说,接口是这样的 合同

因此,在接口中,您应该放置您希望所有实现类都必须具有的方法签名


您的抽象类可以实现其中一些方法,这些实现作为子类(即扩展抽象类的类)的默认实现。此类可以为其子类继承其他成员。

由于您的问题似乎与UML建模有关,我将提供一些额外的、更面向UML的信息:

在java中,您定义了一个包含三个操作的契约:操作是方法。这意味着实现此接口的所有类都必须提供这三个操作。 根据您的叙述,抽象类Customer实现了接口。这应在图中表示,即从类到接口的点线,带有普通空白箭头。注意:您的图表似乎显示了一个可导航的关联,这将具有完全不同的含义 但实现并不是继承:默认情况下,实现关系不会发生任何事情,您必须显式地为客户添加所有三个操作。如果某些操作在此级别上仍然是抽象的,则应将其标记为抽象的,即斜体。您可以重新定义专门化中的任何一个,即继承的客户类。 也就是说,抽象类只有在增加一些值时才有意义,例如为某些方法提供默认实现,添加一些附加方法或属性。如果它只是一个空框,并且子类无论如何都必须实现所有内容,那么您可以从设计中删除抽象类:

任何继承抽象类的类都将实现接口 与抽象类关联的任何类都将与接口关联,接口将代表实现它的任何类。
好的,我知道接口不是类,但是我应该让抽象类为空吗?@GEORGIDIMITROV-在我的回答中,我提到了抽象类可以为其子类继承额外的成员。换句话说,如果您想让两个子类都可以从这个抽象类继承一些共同的东西,那么就把这些东西放到抽象类中。如果有任何进一步的疑问/问题,请随时发表评论。我现在明白了,谢谢!不客气。