Ответы пользователя по тегу Инфографика
  • В чем разница между связями "Обобщение", "Реализация" и "Имплементация" на диаграмме классов UML?

    eaa
    @eaa
    Сие есть очень занимательно… никогда так глубоко не рыл, и вот…
    Даже по-русски «realization» и «implementation» переводятся как реализация — это я вроде знал, а в литературе такого разделения не встречал нигде. Поиск «realization» в вики ничего тоже не дел, что уже настораживает. А вот про implementation написано, что это есть realization :)

    «Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.»

    Ладно, посчитаю, что это одно и то же.
    Тогда имеем, что generalization — это просто наследование, не важно, от абстрактного класса или нет.
    Implementation — реализация интерфейса (или чисто абстрактного класса).

    Итого, про первый вопрос я не знаю, что сказать, но высказал свое мнение.
    По второму — можно с некоторым уточнением, что это будет реализован (realized, implemnted) уже реальный метод, который в интерфейсе просто не мог быть реализован просто потому, что это интерфейс.
    По третьему — тут будет просто несколько связей, в зависимости от типа — например если реализуется несколько интерфейсов — то будет несколько связей «implementation», то же касается и generalization.
    По четвертому — если власс расширяет абстрактный и сам ничего не реализует (т.е. тоже является абстрактным), то тут просто не может быть реализации (implementation, realization) — т.е. тут чисто generalization. А если что-то реально реализуется — то тогда можно говорить о implementation (realization).
    Ответ написан
    Комментировать