metaUML 类图:在抽象类中将一些方法设置为抽象

metaUML 类图:在抽象类中将一些方法设置为抽象

我通常可以在 StackExchange 或互联网上找到问题的答案。但这次我找不到。我昨天找了很多,但还是没找到解决方案。

最近我开始使用 LaTex,并使用 metaUML 描述一些重要的类。但我对抽象类有疑问。

我有一个抽象类,其中有些方法是抽象的,其余方法不是。我想将抽象方法设置为斜体或斜体(值为 metauml_defaultFontOblique),但我不知道如何访问每个方法的字体来设置该值。

例如:

input metauml;
beginfig(1);

AbstractClass.AbsClass("AbsClass")()(
"+AbsClass()",
"+abstractMethod(): void",
"+nonAbstractMethod(): void"
);

drawObject(AbsClass);
endfig;
end

上述代码的结果

这里我希望 abstractMethod 会以斜体显示,而 noAbstractMethod 会正常显示。

我怎样才能做到这一点?

如果我添加以下内容,我可以将课程名称以斜体显示:

AbsClass.info.iName.iFont.name := metauml_defaultFontOblique;

如果我使用以下方法,我可以将所有方法都用斜体表示:

AbsClass.info.iMethodStack.iPict.iFont.name := metauml_defaultFontOblique;

如果我使用上面的代码将所有方法都以斜体显示,结果如下

但我只想要斜体抽象方法。

感谢您的帮助。

答案1

由于方法堆栈的生成方式,这在 MetaUML 0.2.5 中是不可能的。

MetaUML 的主分支现在允许抽象、静态的经典功能:

Class.A("A")
    (static "-instanceCount:int")
    (static "+getInstanceCount():int", abstract "+work()");

MetaUML:静态和抽象类特征

相关内容