删除类级别得重用保护部分 请注意,在前面列表1的代码中,有一段 //Begin section for Class1 ... //End section for Class1 ,您可以将 C++ 中所有不能建模的声明保存在这里。返回 UML to C++ Transformation 时,不会覆盖这段声明。如果您不需要这一声明出现在生成的代码中,可以选择删除。但是,删除之后,即使再次运行 UML to C++ Transformation,这些声明也不会重新生成。
如果不需要,可以删除如列表2所示的段落,那么删除之后不能够重新生成。假使想要恢复这些声明,您就需要手动地进行插入。
列表2. 类 Car 生成的代码
...
//Begin section for Class1
//TODO: Add attributes that you want preserved
//End section for Class1
... |
不修改 UML 模型的情况下,改变生成包的名称。
要改变包的名称,请双击打开转换配置文件。如图
9所示,单击 Mapping 选项卡,选择 Enable mapping。
图9. 使用映射模型

单击 New 按钮,创建一个默认的映射模型,赋给一个适合的名称。单击
Edit Mapping 按钮,出现如图10所示的对话框。
图10. 编辑映射模型

假使您正进行到如图11所示的 UML 模型。如果没有映射模型,那么 Date 类将会生成在一个名为 Package1 的文件夹内。然而,如果您想要将 Package1 生成为 Folder1,那么需要使用映射模型。浏览映射模型,找到 Package1,然后在向导底端的 Mapped Name 编辑框输入 Folder1。这样,在生成的代码中,Date 类就生成在名为 Folder1 的文件夹内了。
图11. 您正在操作的 UML 模型
在同一个文件里生成多个类 在映射模型中,假如您想将一个 UML 类映射为另外的名称,您需要改变其将要生成文件的名称,而不是类名。默认情况下,顶级类将生成一个与类名相同名称的文件。因此,对于一个名为 MyClass 的 UML 类,UML 向 C++ 的转换将会生成文件 MyClass.h 和 MyClass.cpp。
但是,在使用映射模型的时候,您也可以选择生成与原类名不同名称的文件。比如,您可以改变 UML 包的名称,生成另外命名的文件夹;您也可以将一个 UML 类映射为另外命名的文件。类的名称并不受映射模型的影响。因此,要想在一个文件中生成多个类,您所需要做的仅仅是在映射模型中为它们指定相同的目标名称。