将数据成员导入未专用

选中反向工程高级选项窗口的其他选项卡上的反映数据成员复选框可以将所有代码数据成员导入为专用。代码中的数据成员访问级别将导入特性的可视性属性。

关于此任务

如果不选中此选项:

如果选中此选项:

例如,考虑一下文件,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® 缺省操作。


反馈