このページでは

クラス図の作成

クラス図を含む UML スタイルのモデルを作成します。クラス図では、クラス、依存関係、継承、関連、集約、および合成を示し、オブジェクト指向の方法でシステムを視覚化します。

モデル・エディターでのクラス図

モデル・エディターでのクラス図

クラス図を作成するには

  1. クラス図に C++ クラスを追加するには、Projects からファイルをエディターにドラッグし、Add Class を選択します。
  2. 共通の要素プロパティーに加えて、以下のプロパティーを指定することができます:
    • Template で、使用するテンプレートを指定します。
    • Template display で、テンプレートの表示形式を選択します:
      • Smart クラス・プロパティに応じて、テンプレートをBox またはAngle brackets として表示します。
      • Box クラス・アイコンの右上隅にある点線の枠で囲まれた小さなボックスにテンプレートを表示します。
      • Angle brackets テンプレートは、C++ 構文を使用して、クラス名の後ろの角括弧内に記述されます。
    • Members で、「メンバの指定」の説明に従ってクラスのメンバを指定します。
    • Clean Up を選択すると、Members の内容が可視性(private、protected、public)に応じてフォーマットされ、空白 や改行などに対して設定されたルールに従います。
    • ダイアグラムにメンバーを表示するには、Show members を選択します。

ダイアグラム内のクラスからソース・コードに移動するには、エディターでクラスをダブルクリックするか、コンテキスト・メニューからShow Definition を選択します。

リレーションシップの追加

クラス図の要素は、以下の種類の関係を持つことができます:

  • 集約
  • 関連
  • コンポジション
  • 依存
  • 継承

アソシエーション関係の端点は、以下のプロパティを持つことができる:

  • カーディナリティ
  • 移動可能
  • 役割
  • 関係

自己関係の作成

自己関係を作成するには、新しい関連付けの作成を開始し、Shiftキーを押しながら関連付けをドラッグして新しいサンプリング・ポイントを作成します。別のサンプリング・ポイントを作成し、関連付けを同じクラスにドラッグします。

ポイントの追加と削除

さらに点を追加するには、Shiftを選択し、関連を選択します。

点を削除するには、Ctrl を選択し、点を選択します。

メンバーの指定

クラスのメンバを指定するには、C++ のような構文を使用して、各メンバを別の行に入力します。例えば、次の行は、m メソッドを定義しています。これは、private、virtual、constant です:

private:
virtual int m(string a) const;

メンバをグループ化できます:

[Geometry]
QPointF position;
QSizeF size;

メンバにステレオタイプを追加できます:

<<setter>> setPosition(const QPointF &pos);

パーサーにはいくつかの制限があります:

  • このような宣言は、「C++」のような構文で定義することができます:
    void setSize(int width,
                 int height);
  • プリプロセッサー・マクロは翻訳されません。いくつかの Qt キーワードは認識されます (例えばQ_SLOT)。
  • 関数ポインタ宣言はメソッドとして解釈されます。
  • throw()noexpect() の指定子は無視されませんが、宣言をメソッドにします。

How To: Create Models and Diagrams(ハウツー:モデルとダイアグラムの作成)」および「Model Editor(モデル・エディター)」も参照して ください。

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.