संलग्न यूएमएल आरेख में 5 वर्ग हैं और मैं यह जानना चाहता हूं कि कक्षा ए, बी और सी के शीर्ष को लंबवत रूप से कैसे संरेखित किया जा सकता है जबकि बाल वर्ग संरेखित रहते हैं। कृपया मेरा यूएमएल कोड और मेरे स्क्रीनशॉट नीचे देखें।
आपके समर्थन के लिए बहुत कुछ! :)
वर्तमान में यह कैसा दिखता है:
यह कैसा दिखना चाहिए (पेंट संपादित):
यूएमएल - कोड:
@startuml TestClassDiagram
scale 800 width
skinparam SameClassWidth true
skinparam ClassFontSize 15
class classA {
{field} - attribute1 : int
{field} - attribute2 : int
{method} + method1(void)
{method} + method2(void)
{method} + method3(void)
{method} + method4(void)
{method} + method5(void)
}
class classB {
{field} - attribute1 : int
{field} - attribute2 : int
{method} + method1(void)
{method} + method2(void)
}
class classBchild {
{method} + method1(void)
}
class classC {
{field} - attribute1 : int
{field} - attribute2 : int
{field} - attribute3 : int
{field} - attribute4 : int
{method} + method1(void)
{method} + method2(void)
{method} + method3(void)
{method} + method4(void)
{method} + method5(void)
}
class classCchild {
{method} + method1(void)
}
classB <|-- classBchild
classC <|-- classCchild
@enduml
1 उत्तर
प्लांटयूएमएल (अभी तक) में कक्षाओं को संरेखित करने की सुविधा नहीं है।
यदि हम सभी तत्वों के बीच तीर जोड़ते हैं, तो यह स्पष्ट है कि प्लांटयूएमएल क्या करने की कोशिश कर रहा है:
यह बस बीच से सभी आरेखों को संरेखित कर रहा है।
इसका उपयोग करके, हम एक ऐसा हैक बना सकते हैं जो सॉर्ट क्लास परिभाषा को अतिरिक्त न्यूलाइन्स के साथ पैडिंग करके वांछित परिणाम प्राप्त करता है जब तक कि वे सभी समान आकार के न हों:
@startuml
skinparam {
SameClassWidth true
ClassFontSize 15
}
class A as "classA" {
{field} - attribute1 : int
{field} - attribute2 : int
__
{method} + method1(void)
{method} + method2(void)
{method} + method3(void)
{method} + method4(void)
{method} + method5(void)
}
class B as "classB" {
{field} - attribute1 : int
{field} - attribute2 : int
__
{method} + method1(void)
{method} + method2(void)
}
class Bc as "classBchild" {
{method} + method1(void)
}
class C as "classC" {
{field} - attribute1 : int
{field} - attribute2 : int
{field} - attribute3 : int
{field} - attribute4 : int
{method} + method1(void)
{method} + method2(void)
{method} + method3(void)
{method} + method4(void)
{method} + method5(void)
}
class Cc as "classCchild" {
{method} + method1(void)
}
B <|-- Bc
C <|-- Cc
@enduml
संबंधित सवाल
नए सवाल
uml
यूनिफाइड मॉडलिंग लैंग्वेज, एक ऑब्जेक्ट-ओरिएंटेड मॉडलिंग और सॉफ्टवेयर इंजीनियरिंग में उपयोग की जाने वाली स्पेसिफिकेशन लैंग्वेज। उपयोगकर्ता-मोड लिनक्स के बारे में प्रश्नों के लिए, [उपयोगकर्ता-मोड-लिनक्स] टैग का उपयोग करें।