UMLクラス図で静的メソッドを使用する方法を教えてください。静的メソッドの使用方法を表示する方法UMLクラス図
class A{
public static void test(){
}
}
class B{
public void b(){
A.test();
}
}
どのように関係を示すクラス図はどのように見えますか?違いがある場合は、UML 2.0を用意します。
UMLクラス図で静的メソッドを使用する方法を教えてください。静的メソッドの使用方法を表示する方法UMLクラス図
class A{
public static void test(){
}
}
class B{
public void b(){
A.test();
}
}
どのように関係を示すクラス図はどのように見えますか?違いがある場合は、UML 2.0を用意します。
静的メソッドを表示するには、静的メソッドの名前に下線を引いてください。詳細はhereのようになります。
その関係をナビゲートする。 class B
は、class A
の存在に依存しています。クラスBはクラスAで「使用法の依存」を持っていると言うことができます。
希望します。
@RobertMSその権利。静的関数を大文字、
..............................................................
....+----------------------------------------------------+....
....| StringUtilityClass |....
....+----------------------------------------------------+....
....| [+] void: lowerCase() <<non virtual>> |....
....| [+] void: upperCase() <<non virtual>> |....
....| [+] String: toString() <<override>> |....
....+----------------------------------------------------+....
....| [+] String: LowerCaseCopy(String Value) <<static>> |....
....| [+] String: UpperCaseCopy(String Value) <<static>> |....
....| [+] String: ReverseCopy(String Value) <<static>> |....
....+----------------------------------------------------+....
..............................................................
注 いくつかのプログラミング言語のベストプラクティス、Cの大文字と小文字を区別した構文を持つ特別なものとラクダ小文字に残す:
別の代替、そのを使用することがステレオタイプ残りの機能
乾杯。静的メソッドを表示するには
、あなたはUMLのクラス図でそれらを下線属性:UML Superstructure specificationのUML Distilled P.66またはセクション7.3.19(機能)を参照してください。
静的な特徴には下線が付されています。
クラスBとAの間の関係(BはAで静的メソッドのみを使用する)を表示するには、関連ではなく依存関係を使用します。関連付けは、UML上部構造仕様のセクション7.3.3(協会)のように、各端部でインスタンスのクラスの間常に:
アソシエーションが型付きインスタンス間 を発生する可能性が意味論的関係を指定します。
しかし、クラスB仕様のセクション7.3.12のように、クラスAに依存ある:依存性は、単一またはモデル要素の集合 ことを意味関係である
その 仕様または実装のための他のモデル要素が必要です。
ステレオタイプによる依存関係の性質を明らかにする価値はあります。 ステレオタイプuse
ステレオタイプを使用することができますが、これは非常に一般的であり、実際にはインスタンス間の標準的な関連付けを含んでいます(明らかに通常、FowlerがUML Distilledで言うように、
多くのUML関係は依存関係を意味します。注文から顧客への移動可能な関連 [彼の例の1つで...]は、注文が顧客に依存して であることを意味します。
どのステレオタイプを使用するかについての標準はないようです。私はusesStatically
を使用して依存関係の性質を明確にしています。それは、代わりに、クラスBが静的フィールドとしてAのインスタンスを持っていた、場合、私はクラス図に明示的にBを代表していた場合、私はB--containsStatically--> A
のようなものを使用したい(
B --usesStatically--> A
で、そうでない場合は、単に持っています下線を引いたB.のタイプAの静的属性)
私は@ RobertMSの答えは拡張する価値があったと思っていましたが、これはコミュニティのwikiの答えとして書いてあります。なぜなら、彼の答えのニュアンス(そしてもっと "公式な参考文献"へのリンク)を説明しているからです。 –
あなたはそれが依存関係ではなく関連性がありますか? – Nicolas
アソシエーションは、インスタンスによってリンクされた2つ(またはそれ以上)のタイプ間の関係です。したがって、ClassBにClassAとの関連付けをさせるには、おそらくプロパティまたはフィールドを使用して、ClassBへの参照が必要です。しかし、それはあなたの例では当てはまらないので、私はあなたに依存関係があり、関連がないと言います。私はこの[link](http://www.uml-diagrams.org/dependency.html)の定義は、あなたが依存していることを示していると思います。 – RobertMS