Main Content

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

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

説明

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

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

  • パッケージを含む、継承関係がグラフィカルに表示されるクラスの階層

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

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

  • MATLAB®コマンド プロンプト:matlab.diagram.ClassViewer

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

  • 現在のフォルダー ブラウザー: クラス ファイル、または 1 つ以上のクラス ファイルがあるフォルダーを右クリックして、[クラス ダイアグラムの表示]を選択します。

  • [プロジェクト]タブで、アプリのアイコンをクリックします。

すべて展開する

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

Class Browser with unittest added

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

TestCase and InteractiveTestCase classes

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

Legend pane

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

Test card with green plus button

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

Test and TestSuite class icons

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

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

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

  • パン

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

Testの直上のスーパークラスを追加するには、Testクラス カードを右クリックして[スーパークラス]を選択します。[自動調整]をクリックしてダイアグラムをクリーン アップします。CustomDisplaymixin がTestのスーパークラスとして表示されます。CustomDisplayの名前がイタリックで表記され、抽象クラスであることを示します。

class diagram with CustomDisplay mixin visible

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

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

Test class with properties and methods 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 で導入