指定するのは操作の名前だけである UML クラスを描画したいと考えています。つまり、属性コンパートメントはなく、メソッド コンパートメントにはメソッドの名前が含まれますが、パラメーターは含まれません。UML リファレンス ガイドを読みましたが、どうやらこのようなことを行うことが許可されているようです
--------------
| Car |
--------------
|changeChassis|
--------------
Car はクラス名で、changeChassis は指定したくない型のパラメーターを受け取るメソッドです。つまり、上記のクラスの Java 実装は次のようになります。
public class Car {
private String chassis;
public void changeChassis(String chassis) {
this.chassis=chassis;
}
問題は、私の図があいまいであることです。属性コンパートメントを省略しましたが、パラメーター リストがなければ、私のメソッド changeChassis は属性になる可能性があります。
私が読んだいくつかのテキストでは、操作が実際にパラメーターを受け取る場合でも、空のパラメーター リストを使用して操作を示すことができると示唆しています。たとえば、参照している操作が実際にはパラメーターを取ることを意図していたとしても、changeChassis() を記述することができます。しかし、UML リファレンスはこれを許可しておらず、明らかにあいまいです。
別の解決策は、空の属性コンパートメントに入れることです。例えば:
--------------
| Car |
--------------
| |
--------------
|changeChassis|
--------------
ただし、UML リファレンスには、クラスに本当に属性がない場合を除き、それを行うことはできないと書かれています。
標準に準拠し、あいまいさを回避する方法はありますか?