Main Content

クラス ダイアグラム ビューアー

クラスの詳細とクラスの階層を調べるダイアグラムの作成

R2021a 以降

説明

クラス ダイアグラム ビューアー アプリでは、クラス実装の詳細と階層を表示するダイアグラムを作成できます。このアプリを使用してクラス構造体を確認し、クラス ダイアグラムを他のユーザーと共有できます。これらのダイアグラムには、次の詳細を含めることができます。

  • プロパティとメソッドおよびそのアクセス属性を含む、クラスの内部構造

  • パッケージを含む、継承関係をもつクラスの階層

グラフィカル インターフェイスまたは matlab.diagram.ClassViewer で定義されるコマンド ライン API を使用してクラス ダイアグラムを作成できます。

Class Diagram Viewer app

クラス ダイアグラム ビューアー を開く

  • MATLAB® ツールストリップ: [アプリ] タブの [MATLAB] で、アプリのアイコンをクリックします。

  • MATLAB コマンド プロンプト: 「 matlab.diagram.ClassViewer」と入力します。

すべて展開する

クラス ダイアグラム ビューアーを開きます。[クラス ブラウザー] ペインで、[クラスをインポート]、[フォルダー]、または [ファイル] ボタン を展開して [パッケージをインポート] を選択します。パッケージ名として「matlab.unittest」と入力し、[OK] をクリックします。unittest のフォルダーが [クラス ブラウザー] に表示されます。

Class Browser with unittest added

unittest フォルダーを展開して InteractiveTestCase クラスを選択します。ツール バーの [追加] ボタンをクリックし、クラスのカードを [クラス ダイアグラム ビューアー] キャンバスに追加します。同じメソッドを使用して TestCase クラスを追加します。TestCaseInteractiveTestCase のスーパークラスなので、クラス ダイアグラム ビューアーは自動的に InteractiveTestCase から TestCase までの矢印を描画してこの関係を示します。

TestCase and InteractiveTestCase classes on canvas

クラス カードの上部にある青い縞模様の境界は、これらのクラスの両方がハンドル クラスであることを示しています。[凡例] ペインはキャンバス上のグラフィックス効果とアイコンが何を表しているのかを示しています。

Legend pane

[クラス ブラウザー] から直接キャンバスに項目をドラッグ アンド ドロップすることもできます。ビューアーに Test クラスをドラッグ アンド ドロップします。カード上部にある green plus buttonTest に表示可能なスーパークラスがあることを示しています。

Test class card with green plus button

green plus button をクリックしてスーパークラスをダイアグラムに追加します。Test から TestSuite を指す矢印は TestSuiteTest のスーパークラスであることを示しています。

Test and TestSuite class icons

ドラッグ アンド ドロップによるビューアーでのクラスの移動に加えて、ツール バーの [ズームとパン] セクションで以下のようなオプションを使用してビューをカスタマイズできます。

  • ズームインおよびズームアウト

  • 現在の画面サイズに合わせたモデルの表示

  • パン

[ビュー] セクションで、[mixin] チェック ボックスをオンにします。この操作を行っても mixin クラスはダイアグラムに自動的に追加されませんが、この後でスーパークラスを追加するいずれかの操作を実行すると、ビューアーによって mixin クラスが表示に追加されます。

Test のすべてのスーパークラスを追加するには、Test クラス カードを右クリックして [すべてのスーパークラスの追加] を選択します。CustomDisplay mixin が Test のスーパークラスとして表示され、TestSuiteExtensionTestSuite のスーパークラスとして表示されます。CustomDisplay の名前がイタリックで表記され、抽象クラスであることを示します。

CustomDisplay mixin and TestSuiteExtension visible

スーパークラスとサブクラスの追加には、それぞれ 2 つのオプションがあります。

  • スーパークラスの追加: 指定したクラスの直接的な継承元となるスーパークラスを追加します。

  • すべてのスーパークラスの追加: 指定したクラスの直接的または間接的な継承元となるすべてのスーパークラスを追加します。上記の例では、TestTestSuiteExpansion から間接的に継承します。

  • サブクラスの追加: 指定したクラスから直接的に継承する既知のサブクラスを追加します。

  • すべてのサブクラスの追加: 指定したクラスから直接的または間接的に継承するすべての既知のサブクラスを追加します。

メモ

MATLAB では、指定したクラスのすべての既存のサブクラスが特定されない可能性があります。その場合、[クラス ブラウザー] を使用して手動でサブクラスを追加します。

クラス間の関係に加えて、それ自体のクラス定義も確認できます。カードのクラス名の横にある矢印をクリックして、Test クラスを展開します。クラス カードが展開され、クラスで定義されるプロパティとメソッドが表示されます。スーパークラスから継承されたプロパティとメソッドはサブクラス カードに表示されません。

プロパティ名とメソッド名の横にあるアイコンは、プロパティとメソッドのアクセス レベルを識別します。たとえば、ロック アイコンは ExternalFixtures がプライベート プロパティであることを示しています。

Test class card with properties visible

クラス カードでプロパティまたはメソッドを選択すると、[インスペクター] ペインにアクセス情報やその他の情報も表示されます。

1 つ以上のクラスのソース コードを表示するには、そのカードを選択してツール バーの [ソースに移動] をクリックします。ソース コード ファイルが MATLAB エディターで開きます。

ダイアグラムを保存または共有するには、次の 2 つのオプションのいずれかを使用します。

  • [エクスポート] をクリックしてダイアグラムを静的イメージとして保存します。

  • [保存]、[名前を付けて保存] を選択し、クラス ダイアグラム ビューアー インスタンスで再度開いて編集できる MLDATX ファイルを作成します。

プログラムでの使用

すべて展開する

matlab.diagram.ClassViewer は、クラスを読み込まずにクラス ダイアグラム ビューアー インスタンスを開きます。

matlab.diagram.ClassViewer(Name,Value) は指定されたクラスを [クラス ブラウザー] ペインとキャンバスの両方に追加します。有効な名前と値の引数は次のとおりです。

  • string またはオブジェクト名として指定されるクラス名をもつ Classes

  • string として指定されるフォルダー名をもつ Folders

  • string として指定されるパッケージ名をもつ Packages

その他の名前と値の引数については、matlab.diagram.ClassViewer を参照してください。引数を Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。

ヒント

  • クラス ダイアグラム ビューアーは、matlab.diagram.ClassViewer クラスのインスタンスです。一度に複数のビューアーを開くには、クラス コンストラクターを使用します。

  • green plus button が 2 つのクラス間の矢印上に表示される場合、追加のクラスはクラス カード自体ではなく、接続されている 2 つのクラス間の階層上にあります。green plus button をクリックし、階層のその部分に表示可能なすべてのクラスを追加します。

  • クラス ダイアグラム ビューアーの使用中にクラス コードに変更を加えた場合、[リフレッシュ] をクリックしてダイアグラムを自動的に更新できます。

バージョン履歴

R2021a で導入

すべて展開する