2013-07-14 6 views
2

Как вы представляете вызов super() в диаграмме последовательности? Я создаю класс «Бар», который является подклассом «Foo». При создании этого класса Bar вызывает конструктор по умолчанию Foo. Как вы рисуете это на диаграмме последовательности?super() call in sequence diagram

ответ

0

супер вызов представляет собой вызов некоторого метода суперкласса, так что если класс А простирается от класса B, то:

class A extends B{ 
    public A(){ 
     super(); 
    } 
} 

И

class B { 
    public B(){ 
     ... 
    } 
} 

Вы должны думать об этом классов run, поэтому, например, у вас есть объект a из класса A, называемый a, этот объект представлен обоими классами, так как класс A расширяет класс B.

В этом случае я бы сделал диаграмму с конструктор суперкласса B, поэтому я могу связать эту диаграмму с диаграммой, в которой я представляю конструктор класса A.

Поскольку вызов конструктора суперкласса относится к тому же объекту, а не к другому объекту, message arrow должен быть само сообщение, в котором он вызывает конструктор суперкласса B.

Кроме того, чтобы сделать вещи более ясными, я бы добавил код супервызов.

Должно быть что-то более графическое.

Sequence Diagram for class A

А для класса В

Sequence Diagram for class B

PD. Я использую программное обеспечение Enterprise Architect для создания диаграмм.