UML から C++ への変換によって変換されるクラス、列挙、およびインターフェース

複数の要因により、UML から C++ への変換におけるクラス、列挙、およびインターフェースからの C++ 要素の生成方法が決まります。

UML クラス

変換では、変換構成のソースに指定したクラスごとに、ヘッダー・ファイル、およびオプションでボディ・ファイルを生成します。 デフォルトで、ボディ・ファイルのファイル名拡張子として .cpp が付けられます。 変換では、«cpp_struct»、«cpp_union»、または «cpp_typedef» の各ステレオタイプが適用されている UML クラスから、C++ の構造体、共用体、および型定義を生成します。 モデル内の各要素にこれらのステレオタイプを適用するには、C++ 変換プロファイルを適用しておく必要があります。 変換では、以下の項目のボディ・ファイルは生成しません。
  • «cpp_typedef» ステレオタイプが適用されているクラス
  • «cpp_struct»、«cpp_typedef»、または «cpp_union» の各ステレオタイプが適用されていて、操作が含まれていないクラス
  • «cpp_struct»、«cpp_typedef»、または «cpp_union» の各ステレオタイプが適用されていて、抽象である操作のみが含まれているクラス
変換では、クラスの名前をヘッダー・ファイルおよびボディ・ファイルに割り当てます。 クラスの名前が C++ の命名規則に準拠していない場合、またはその名前が固有ではない場合は、変換により新規の名前がヘッダー・ファイルおよびボディ・ファイルに割り当てられます。 生成されたボディ・ファイルには、対応するヘッダー・ファイルの #include ディレクティブが含まれます。

変換により、ヘッダー・ファイルに UML テンプレート・クラスのコード、およびテンプレート・クラスのメソッド本文が生成されます。

UML 列挙

変換では、変換構成のソースで指定したそれぞれの UML 列挙ごとに、C++ 列挙型を生成します。 必要に応じて変換では、C++ ルールに準拠した固有の名前を割り当てますが、そうでない場合は、生成された C++ 列挙型に UML 列挙と同じ名前が付けられます。 変換により、UML 列挙リテラルは C++ 列挙型リテラルに変換されます。

UML インターフェース

変換により、UML インターフェースは C++ クラスに変換されます。 インターフェース内の UML 操作は、純粋仮想 C++ メソッドに変換されます。

ネストされた UML クラス、列挙、およびインターフェース

変換では、ネストされた各要素に対して別々のヘッダー・ファイルおよびボディ・ファイルは生成しません。 代わりに、変換では、ネストされた要素を含んだクラスのヘッダー・ファイルおよびボディ・ファイルに、ネストされた要素についての情報を追加します。


フィードバック