2017-10-16 2 views
1

UML 2.5が定義するように、ObjectNodeは抽象クラスです。私の理解のために、抽象クラスはインスタンス化できません。ObjectNodeの表記はどのようにできますか?

なぜObejctNodeはスキーマでインスタンス化できなかったので、グラフィカル表記法がありますか? UML仕様の図15.49を参照してください。

+0

偉大な、誰かが私の質問に1を追加、そこに誰と理由を見る方法はありますか? – granier

答えて

2

なぜできませんでしたか?

抽象クラスが表記法を定義している場合は、(抽象)親クラスの表記をオーバーライドして、独自の表記法を定義しない限り、すべてのサブクラスで使用される表記であることを意味します。

明示的には言及していませんが、これはクラシファイアの表記法にかなり似ているようです。 UML 2.5仕様から :

分類子

9.2.4.1分類器は抽象メタクラスです。それにもかかわらず、1つの場所に、 に使用可能なデフォルト表記法を、Classifierの任意の具体的なサブクラスとして定義することは便利である。クラシファイアの専門分野には独自の表記法があります。

別の類似の構築物が抽象メタクラスアクションのために使用されています。図16.2に示すよう

16.2.4.1アクション

アクションは、角の丸い長方形として表記されています。訴訟の名称またはその他の記述 がシンボルに表示されることがあります。 (アクションのある特定の種類の特殊な表記法は、後続の サブ節で説明されている。)

enter image description here

+0

大丈夫だが、抽象的な「メタクラス」をモデル化する意味はどうだろうか?何かのような "今、私はどのような具象クラスを使うのか、後でか、どこか他の場所で使用する具体的なメタクラスを定義したのか分かりませんか? – granier

+0

あなたは何を提案したのですか?メタクラスの表現はメタクラスのプロパティではないようです。なぜ、メタクラスを拡張するメタクラスは、デフォルトで同じグラフィカル表記法を使用すべきですか? – granier

+0

抽象メタクラスはモデル化できません。具体的なサブクラスですが、抽象メタクラスのプロパティはすべて継承されています。継承できるメタクラスのプロパティとして表記を参照すると意味があります。 –

-2

@granierは、あなたはそれがUML 2.5仕様のタイプミスである私のために正しいです。 Objectodeは間違いなくインスタンス化できます。

+0

私はそれが誤字ではないと確信しています。あなたが説明を読むと、それは具体的なサブメタクラスのリストを含む、何度も言及されます。 –

+0

私はObjectNodeがインスタンス化できるという事実に同意します。しかし図15.49は、ItaliqueのObjectNodeメタクラスが、抽象的であり、インスタンス化できないことを意味しています(typoです)。図1のElement、RelationShip、Commentと同じです。要素と関係メタクラスはイタリックであるため、インスタンス化できません。要素のサブメタクラスであるCommentは、イタリック体ではないので抽象的ではないので、インスタンス化することができます。 –

+0

したがって、仕様にObjectNodeを示す図形がある場合は、具体的なものでなければならないという暗黙の理由に基づいて、そのステートメントをベースにします。しかし、あなたはObjectNodeが抽象であるといういくつかの明示的なステートメントを無視することを選択しますか? –

関連する問題