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-uml
und 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:
Antwort2
Ich werde bald eine neue Version von tikz-uml herausbringen und diese neue Beziehung hinzufügen. Sie wird heißen\umlnesting