При рисовании схемы наследования, Вы обычно идете
Base ^ | Derived
Полученный расширяет Основу. Итак, почему стрелка поднимается?
Я думал, что это означает, что "Полученный общается с Основой" путем вызывания функций в нем, но Основа не может вызвать функции в Полученном.
AFAIK одна из причин - непротиворечивость нотации. Все остальные направленные стрелки (зависимость, агрегация, состав) указывают от зависимого к зависимому.
В наследовании B зависит от A, но не наоборот. Таким образом, стрелка указывает от B к A.
В 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.”
Не совсем ответ на вопрос: -)
Прочтите стрелку как «наследуется от», и это имеет смысл. Или, если хотите, подумайте об этом, как о направлении, которое может быть сделано.
Я всегда думаю об этом как о том, что в B больше материала, чем в A (подклассы часто имеют больше методов, чем суперклассы), поэтому B получает широкий конец стрелки, а A - заостренный конец!
Я думаю, что суть в том, чтобы выразить " обобщение ": A является обобщением B.
Таким образом, стрелка выражает то же понятие, что и в расширении, но идет" правильным "путем
B - субъект, A - объект, действие "наследуется". Значит, B действует на A, отсюда и направление стрелки.