オブジェクト指向の考え方を反映させたC言語のコード生成と読み込み

<< 目次を表示 >>

ページ位置:  ソースコードの生成と読み込み > ソースコードの生成と読み込みに関する設定 > ソースコードとモデルの対応付け > Cの追加情報 >

オブジェクト指向の考え方を反映させたC言語のコード生成と読み込み

次の内容は、オブジェクト指向の考え方を反映させたC言語のコード生成と読み込みについての説明です。

 

Enterprise ArchitectでC言語を利用する際に、オブジェクト指向の考え方を反映させたコード生成と読み込みを利用するにはオブジェクト指向のサポートオプションをTrueに設定する必要があります。このオプションは、プロジェクトのオプションダイアログの「ソースコードの生成と読込 | C」ページにあります。

 

 

ステレオタイプ

ステレオタイプ

適用先

対応

enumeration

クラス

enum(列挙値)であることを示します。

struct

 

クラス

struct(構造体)であることを示します。

属性

structの値の定義時に利用します。

typedef

クラス

typedefに対応します。親クラスの情報が元の型名に対応します。

union

 

クラス

union(共用体)であることを示します。

属性

unionの値の定義時に利用します。

 

 

タグ付き値

タグの名前

適用先

対応

anonymous

enumeration・struct・unionのステレオタイプをもつクラス

typedef文でのみ定義される型の名前です。

bodyLocation

操作

操作の本体を生成する位置を指定します。指定可能な値は次の通りです。header classDecclassBody

define

属性

#define文に対応します。値がtrueの時に、属性をdefine文として出力します。初期値がある場合には、「#define 属性名 初期値」の形式で出力します。

typedef

enumeration・struct・unionのステレオタイプをもつクラス

typedefで定義される型の名前です。

 

 

オブジェクト指向の考え方を反映させたC言語のコード生成と読み込み

基本的な考え方は次の通りです。まず、UMLのクラスのうち、属性の集合を構造体として定義します。この構造体は.hファイル内に定義され、別のクラスから参照することが可能です。

クラスの操作はCの関数として実装されます。関数の名前はクラスの完全修飾名および関数名を接続したものとなります。これらの名前をつなぐ文字は、名前空間の区切り文字オプションで指定可能です。このオプションの値は、クラス名と操作名を接続する場合にも利用されます。

Cの関数の第一引数には、クラスを示す構造体への参照が必要です。この参照の方法はメソッドの引数で参照・参照の形式・参照の名前のオプション項目でカスタマイズ可能です。

 

 

オブジェクト指向の考え方を反映させたC言語の制限

 

参照: