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

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

UML クラス

変換では、変換構成のソースで指定されたそれぞれのクラスごとに、ヘッダー・ファイル、およびオプションでボディ・ファイルを生成します。 デフォルトで、ボディ・ファイルのファイル名拡張子として .cpp が付けられます。 別のファイル名拡張子を指定するには、 eclipse.ini ファイルで BODY_FILE_EXTENSION システム・プロパティーを設定します。 例えば、ファイル名拡張子として .cc を付けたファイルを生成するには、 eclipse.ini ファイルに -DBODY_FILE_EXTENSION=.cc のコードを追加します。変換では、 ステレオタイプ «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 列挙ごとに、C++ 列挙型を生成します。 必要に応じて変換では、C++ ルールに準拠した固有の名前を割り当てますが、そうでない場合は、生成された C++ 列挙型に UML 列挙と同じ名前が付けられます。 変換により、UML 列挙リテラルは C++ 列挙型リテラルに変換されます。

UML インターフェース

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

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

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


フィードバック