从外部类继承

使用 CG::Class::UseAsExternal 属性来继承外部类。

关于此任务

要继承并非作为模型组成部分的类,请将超类的 CG::Class::UseAsExternal 属性设置为 Checked。此设置将防止生成超类的代码。

要在子类中生成针对超类头文件的 #include,请执行下列其中一项操作:

继承外部类的另一种方法是,从代码生成作用域中排除该外部类。例如,如果您希望一个类扩展 Java™ 类 javax.swing.JTree 但不实际地导入该类:

过程

  1. 绘制包 javax
  2. javax 中绘制嵌套包 swing
  3. swing 包中绘制 JTree 类。
  4. 从组件中排除 javax 包(不要使其成为浏览器中的其中一个所选元素)。此动作将防止该组件为 javax 包中的任何内容生成代码。

结果

这使模型中的其余部分能够引用 JTree 类,而不必为其生成代码。这样,该模型中的类(例如 MyJTree)就能够继承 javax.swing.JTree。如果该子类是公共的,那么生成的代码如下所示:

import javax.swing.JTree;
...
public class MyJTree extends JTree {
...
}

如果要让一个类导入整个包而不是特定的类,请添加对外部包(在本例中,这是 javax.swing)的依赖关系(请参阅依赖关系)并将构造型设置为 «Usage»。于是,生成的文件将包含下面这一行:

import javax.swing.*

有关使用外部元素的更多信息,请参阅Visualization of external elements


反馈