Joh*_*oth 5 abstract-class uml
在UML图中,何时应该抽象一个类?就在我们想要阻止实例化的时候?
编辑:抽象类是否可以完全实现一个方法(当方法只依赖于该抽象类的属性时)?
如果一个类有一个或多个抽象的操作,则它是抽象的.
在UML中用斜体或{abstract}表示抽象.
下图(由Martin Fowler撰写的UML Distilled Third Edition第70页)显示了如何以及为什么表示摘要:

防止实例化是一个实现问题,所以如果你在考虑Java,C#等方面这是一个很好的理由.
但是,在建模的层面上,如果有多个子类,你想要创建一个类抽象,并且没有任何意义,对象是超类型,但没有任何子类型.
所以,基本上你不会阻止类的实例化,因为子类的任何实例也是抽象超类的一个实例.在这种情况下,您正在做的是单独阻止超类的实例化,即强制使用其中一个子类型.
回答编辑:是的!