Tikz-uml 创建嵌套关系

Tikz-uml 创建嵌套关系

我在用tikz-uml,但似乎没有 UML 嵌套关系。我不太擅长使用 tikz,你能帮我实现它吗?你可以看看它应该是什么样子此处最后标题为“嵌套”

例如,以下是聚合的实现方式

\tikzstyle{tikzuml aggregation style}=[color=\tikzumldrawcolor, open diamond-]%
\newcommand{\umlaggreg}[3][]{\umlrelation[style={tikzuml aggregation style}, #1]{#2}{#3}}%

答案1

我遇到了同样的问题tikz-uml,我使用了以下方法。tikzset 选项是从这个回答

\tikzset{cross/.style={cross out, draw=black,
         minimum size=2*(#1-\pgflinewidth), inner sep=0pt, outer sep=0pt},
         %default radius will be 1pt. 
         cross/.default={1pt}}

\begin{tikzpicture}    
  \begin{umlpackage}{Package}
    \umlclass{Class}
    {
    }
    {
      + <<Creator>> Class()
    }        

    \umlclass[y=-3]{InnerClass}
    {
    }
    {
      + <<Creator>> InnerClass()
    }

    \node[circle, scale=0.5, minimum size =2pt,
          draw] (Nested) at (0, -0.7) {};
    \draw (0, -0.7) node[cross=2pt,rotate=45]{};
    \draw (InnerClass.north) -- (Nested.south);
  \end{umlpackage}
\end{tikzpicture}  

这将产生下图:

嵌套类

答案2

我将很快发布 tikz-uml 的新版本并添加此新关系。它将被称为\umlnesting

相关内容