データ・メンバーのプライベートとしてのインポート

「リバース・エンジニアリングの詳細オプション」ウィンドウの「各種」タブの「データ・メンバーの反映」チェック・ボックスを選択すると、すべてのコード・データ・メンバーがプライベートとしてインポートされます。コード内のデータ・メンバーのアクセス・レベルは属性の Visibility プロパティーにインポートされます。

このタスクについて

このオプションが選択されていない場合は、以下のようになります。

このオプションが選択されている場合は、以下のようになります。

例えば、clock.h ファイルを見てみましょう。

#ifndef CLOCK_H
#define CLOCK_H
#include <stdio.h>
class clock 
{
   int second;
   int minute;

   public:
      clock();
      void incTime(void);
   protected:
      int present_second(void) {return second;}
      int present_minute(void) {return minute;}
};
#endif

clock.cpp ファイルには以下のコードがあります。

clock.cpp
#include "clock.h"
clock::clock() : minute(0),second(0)
{
}
void clock::incTime(void)
{
   if (second == 59)
   {
      second = 0;
      minute ++;
   }
   else
   {
      second++;
   }
   cout << minute << ":" << second << endl;
}

「データ・メンバーの反映」チェック・ボックスを選択解除し (<lang>_ReverseEngineering::ImplementationTrait::ReflectDataMembers プロパティーを「None」に設定することと同じ)、「リバース・エンジニアリングの詳細オプション」ウィンドウの「入力」タブの入力オプション「ファイル・リストからのみ」を使用して、こうしたファイルのリバース・エンジニアリングを行うと、結果は下図のようになります。

アクセサーとミューテーターはブラウザーでパブリックと表示されていますが、属性の実際の可視性はプライベートです。

「データ・メンバーの反映」チェック・ボックスを選択して、リバース・エンジニアリング処理を繰り返すと、下図に示すように属性はプライベートとなり、アクセサーとミューテーターは生成されません。

この場合、既にこれらの操作を持っているレガシー・コードは、IBM® Rational® Rhapsody® のデフォルトの代わりにそれらの操作を使用します。


フィードバック