public abstract class Shape {
abstract int area();
}
抽象メソッドのUMLクラス図をどのように描画しますか?使用する +
、-
または#
?
public class Room {
int nWindows;
}
また、クラスインスタンス変数にパブリック、プライベート、または保護されていない場合はどうなりますか?
UML仕様によると:
抽象分類子の名前は、使用中のフォントで許可されている場合、斜体で表示されます。あるいは、またはさらに、抽象分類子は、その名前の後または下にテキスト注釈{abstract}を使用して表示できます。
ただし、操作はnot分類子であることに注意してください。 isAbstract属性はBehavioralFeatureとしてまだありますが、2.5仕様では抽象であることをモデル化する方法を定義していません。古い仕様(1.4.x)では分類子と同じ方法を使用しており、操作の抽象化を示すために広く認識されている方法です。機能の波括弧内の要素は、名前の直後ではなく、行末に表示されることに注意してください(分類子には、名前の直後に他の指定がありません)。
おそらく、作者が誤って機能の抽象化表記の2.5仕様を省略しました。
もちろん、抽象操作は任意の可視性の種類を持つことができます。
もちろん、操作は、それを含むClassifier(あなたの場合はClass)も抽象的である場合にのみ抽象的である可能性があります。
一般に、UMLの可視性の種類はオプションです。つまり、単純に省略できます。 UMLはモデルであることを考慮に入れるだけでよいので、実際には一部の無関係な要素を無視したり、モデリングの後の段階でそれらを指定したりできます。 UMLで可視性の種類を使用しないと、最終的な可視性の種類について想定を行うことはできません。
一方、実際のコードで可視性の種類の指定を使用しない場合(まったく許可されている場合)、いくつかのデフォルトの動作があります。例えば
等々。