我通常可以在 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()");