Tikz-uml erstellt Verschachtelungsbeziehung

Tikz-uml erstellt Verschachtelungsbeziehung

ich benutzetikz-uml, aber es scheint, dass es keine UML-Verschachtelungsbeziehung gibt. Ich bin nicht sehr gut mit Tikz. Könnten Sie mir helfen, wie ich es implementieren kann? Sie können sehen, wie es aussehen solltehier am Ende unter dem Titel "Nestings".

So werden beispielsweise Aggregationen implementiert

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

Antwort1

Ich hatte das gleiche Problem mit tikz-umlund habe den folgenden Ansatz verwendet. Die Option tikzset wurde von diesem übernommenAntwort.

\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}  

Es entsteht das folgende Diagramm:

Verschachtelte Klasse

Antwort2

Ich werde bald eine neue Version von tikz-uml herausbringen und diese neue Beziehung hinzufügen. Sie wird heißen\umlnesting

verwandte Informationen