| Summary: | umbrello lacks of generalization in class diagram | ||
|---|---|---|---|
| Product: | [Applications] umbrello | Reporter: | Bruce Ouyang <bruce.oy> |
| Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | emma.atkinson2, ralf.habacker, register |
| Priority: | NOR | ||
| Version First Reported In: | 2.10.5 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| See Also: | https://bugs.kde.org/show_bug.cgi?id=372181 | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Screenshot showing a realization | ||
*** Bug 145131 has been marked as a duplicate of this bug. *** I would like to register my support for this improvement.
Interface Inheritance (Realization) needs a variation of the symbol for Implementation Inheritance ("Implements" in Umbrello) that has a dotted line. This is not the same as the Dependency relationship which is a weaker form.
In Java, a class **realizes** an <<interface>> class by implementing the functions specified by the interface signature.
In my opinion, the Umbrello user documentation needs to be changed too.
My comments refer to the description at http://en.wikipedia.org/wiki/Class_diagram Created attachment 91795 [details]
Screenshot showing a realization
Retested with 2.16.0 which is the oldest version I have > another related bug about A class implements B class: > generated codes: > public class Employee extends Person, Person {...} > here appears 2 Person parent class, this is wrong can not reproduce with default c++ codegenerator, seems to be fixed > Interface Inheritance (Realization) needs a variation of the symbol for > Implementation Inheritance ("Implements" in Umbrello) that has a dotted line. fixed too, see screenshot >In Java, a class **realizes** an <<interface>> class by implementing the >functions specified by the interface signature. also implemented in 2.16.0 >In my opinion, the Umbrello user documentation needs to be changed too. split out to bug 372181. |
there are 7 class relationships in umbrello's class diagram: 1, association 2, directional association 3, dependency 4, implements 5, composition 6, aggregation 7, containment generalization is absent. i tried let A class implements B class and then generate codes, then i found in fact A class extends B class in generated codes. it seems implements includes generalization and implements. i suggest divide them to 2 different independent relationship. another related bug about A class implements B class: generated codes: public class Employee extends Person, Person {...} here appears 2 Person parent class, this is wrong! Reproducible: Always