2012-02-23 13 views
8

W języku C++, ponieważ prywatne dziedziczenie nie jest traktowane jako relacja is-a, jak to ma być wyświetlane na diagramie klasowym i jeśli jest pokazane jako relacja has-a, to jak może czy można odróżnić kompozycję od dziedziczenia prywatnego?Jak wyświetlić prywatną relację dziedziczenia na diagramie klasy UML

+4

To jest doskonałe pytanie. Problem polega na tym, że prywatne dziedziczenie jest oksymoronem, dlatego nie jest częścią słownika UML. Pokazałbym to jako has-a z uwagą stwierdzającą, że jest prywatnie dziedziczona. Innym wyborem jest refaktoryzacja projektu w celu uniknięcia prywatnego dziedziczenia: przypadki, w których musisz to mieć, są bardzo nieliczne, więc istnieje duża szansa, że ​​zwykły ma-a działałby dobrze. – dasblinkenlight

Odpowiedz

2

powinno to być związek Skład (kolor czarny diament na boku podklasy), ponieważ:

  • Prywatne dziedziczenie oznacza „realizowany w warunkach”, ale w związku z tym może być po prostu traktowane tak samo jak " ma "związek.
  • Instancja podklasy wyraźnie jest właścicielem części podstawowej calss obiektu, a własność nie jest współdzielona z żadnymi innymi obiektami.
Powiązane problemy