Почему стрелка идет вверх по наследству? - PullRequest
8 голосов
/ 18 марта 2010

Когда вы рисуете диаграмму наследования, вы обычно идете

                         Base
                           ^
                           |
                        Derived

Производное расширяет базу. Так почему же стрелка идет вверх?

Я думал, что это означает, что "Derived связывается с Base", вызывая функции в нем, но Base не может вызывать функции в Derived.

Ответы [ 6 ]

6 голосов
/ 18 марта 2010

AFAIK одной из причин является последовательность обозначений. Все остальные направленные стрелки (зависимость, агрегация, состав) указывают от зависимого к зависимому.

В наследовании B зависит от A, но не наоборот. Таким образом, стрелка указывает от B до A.

2 голосов
/ 18 марта 2010

Читайте стрелку как "наследует от", и это имеет смысл. Или, если хотите, подумайте об этом, как о направлении звонков.

2 голосов
/ 18 марта 2010

В UML стрелка называется отношением «Обобщение», и это только означает, что каждый объект класса Derived также является объектом класса Base.

Из надстройки 2.1.2:

A Generalization is shown as a line with a hollow triangle as an
arrowhead between the symbols representing the involved classifiers.
The arrowhead points to the symbol representing the general 
classifier. This notation is referred to as the “separate target style.”

Не совсем ответ на вопрос: -)

1 голос
/ 18 марта 2010

Я всегда думаю, что B содержит больше вещей, чем A (у подклассов часто больше методов, чем у суперклассов), поэтому B получает широкий конец стрелки, а A получает заостренный конец!

0 голосов
/ 18 марта 2010

Я думаю, что смысл состоит в том, чтобы выразить «обобщение»: А является обобщением Б.

Таким образом, стрелка выражает ту же концепцию, что и в расширении, но идет «правильным» путем

0 голосов
/ 18 марта 2010

B - это субъект, A - это объект, действие - «наследовать». Таким образом, B действует на A, отсюда и направление стрелки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...