Portál AbcLinuxu, 6. května 2025 06:28
Potýkám se s menším, ale otravným problémem s agregacemi v UML nástroji Umbrello. Než napíši bug report na stránky vývojářů, rád bych se tu s vámi poradil, co si o tom myslíte. Rád bych eliminoval případ že problém je spíše mezi klávesnicí a myší :o).
Co se snažím udělat?
Dvě třídy ClassA a ClassB, přičemž chci aby ClassA obsahovala atributvector<ClassB*> vec
.
Řešení1 a výsledek
Spojím ClassA a ClassB agregací. V nastavení agregace přiřadím ClassB roli se jménemvec
a multiplicitou *, u ClassA nastavím multiplicitu 0.
Čekal bych, že se teď v ClassA automaticky vytvoří atribut vec. Protože mám v Umbrellu jako výchozí datový typ pro Collection nastaven vektor, očekával bych že atribut vec bude právě vektor.
Řešení2 a výsledek
Ručně přidámvector<ClassB*> vec
mezi atributy ClassA. Výsledkem je, že se automaticky založí prázdná třída vektor a jí se přiřadí agregace s ClassA. Parsér Umbrella si zřejmě přečte vector, pak dereferenci a vytvoří tento dle mého názoru špatný vztah.
Na otázku zatím nikdo bohužel neodpověděl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.