Основные соглашения и терминология

Основные соглашения и терминология

Кроме терминов "наследник" и "родитель" будут полезны следующие термины:

Терминология наследования

Потомок класса C - это любой класс, который наследует C явно или неявно, включая и сам класс C. (Формально, это либо C, либо, по рекурсии, потомок некоторого наследника C).

Собственный потомок класса C - это потомок, отличный от самого C.

Предок C - это такой класс A, для которого C является потомком. Собственный предок C - это такой класс A, для которого C является собственным потомком.

В литературе также встречаются термины "подкласс" и "суперкласс", но мы не будем их использовать из-за неоднозначности.

Имеется также терминология для компонентов класса: компонент либо является наследуемым (перешедшим от некоторого собственного предка), либо непосредственным (введенным в данном классе).

При графическом представлении структур ОО-ПО, в котором классы изображаются эллипсами, связи по отношению наследования показываются в виде одинарных стрелок. Тем самым они отличаются от связей по отношению "быть клиентом", которые представляются двойными стрелками.

Рис. 14.1.  Связь по наследованию

Переопределяемый компонент отмечается ++ (это соглашение принято в Business Object Notation (B.O.N.)).

Стрелка указывает вверх от наследника к родителю. Это соглашение легко запомнить - оно представляет отношение "наследовать от". В литературе встречается и обратное направление таких стрелок. Хотя обычно выбор графического представления является делом вкуса, в данном случае, одно из них явно лучше другого, поскольку одно наводит на мысль о правильном отношении, а другое может привести к путанице. Стрелка - это не просто произвольная пиктограмма, она указывает на одностороннюю связь между своими двумя концами. В данном случае:

[x]. Всякий экземпляр наследника можно рассматривать как экземпляр родителя, а обратное неверно.

[x]. В тексте наследника всегда упоминается его родитель, но не наоборот. Это, на самом деле, является важным свойством ОО-метода, вытекающим из принципа Открыт-Закрыт, согласно которому класс не "знает" списка своих наследников и других собственных потомков.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Е.2 Терминология

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


6.1. Терминология и теория

Из книги Защита вашего компьютера автора Яремчук Сергей Акимович

6.1. Терминология и теория В начале 1990-х годов были популярны вирусы и другие программы, целью которых было разрушение информации или просто шутка. Интернет развивался, количество пользователей быстро увеличивалось, и, главное, в Интернет пришли большие деньги. Появились


Терминология

Из книги Эффективное использование STL автора Мейерс Скотт

Терминология Данная книга не является учебником начального уровня по STL. Предполагается, что читатель уже владеет основными материалом. Тем не менее следующие термины настолько важны, что я счел необходимым особо выделить их.•Контейнеры vector, string, deque и list относятся к


Терминология

Из книги Виртуальные машины [Несколько компьютеров в одном] автора Гультяев Алексей Константинович

Терминология С точки зрения пользователя,виртуальная машина (ВМ) — это конкретный экземпляр некой виртуальной вычислительной среды («виртуального компьютера»), созданный с помощью специального программного инструмента. Обычно такие инструменты позволяют создавать и


Терминология

Из книги Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ автора Мейерс Скотт

Терминология Существует небольшой словарик C++, которым должен владеть каждый программист. Следующие термины достаточно важны, поэтому имеет смысл убедиться, что мы понимаем их одинаково.Объявление (declaration) сообщает компилятору имя и тип чего-либо, опуская некоторые


Терминология

Из книги Photoshop. Лучшие фильтры автора Бондаренко Сергей

Терминология Слово «фильтр» перекочевало в Photoshop из терминологии, которая использовалась фотографами при съемках обычными фотоаппаратами. Фильтрами называли кусочки стекла или пластика, которые использовались в системе линз. Они могли создавать блики различной формы,


Основные соглашения

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Основные соглашения Класс POINT демонстрирует ряд приемов, которые будут использованы в последующих примерах. Необходимо оговорить основные


Терминология

Из книги MySQL: руководство профессионала автора Паутов Алексей В

Терминология Обсуждая универсализацию, необходимо уточнить используемые термины.[x]. Процесс порождения нового типа, такого как STACK [POINT], из типов POINT и STACK, можно было бы называть созданием экземпляра типа "generic instantiation". Но этот термин мог бы ввести в заблуждение, поскольку


2.4.5. Принципы и терминология

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

2.4.5. Принципы и терминология Вы должны понять следующие базисные принципы и терминологию.MySQL Falcon объединяет продвинутые методы с упрощенной структурой, которая приводит к высокоэффективной транзакционной базе данных, которая требует небольшого сопровождения или


I.3 Терминология

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

I.3 Терминология Обмен данными, как это принято в технических дисциплинах, имеет собственный язык. Все специалисты в этой области используют одни и те же термины. Единственная проблема заключается в том, что разные группы людей одной специальности применяют одни и те же


22.3 Терминология

Из книги Как спроектировать современный сайт автора Вин Чои

22.3 Терминология Версия 6 вносит некоторые изменения в терминологию версии 4 и вводит новые термины:? Пакетом (packet) называется заголовок IPv6 плюс полезные данные? Узел (node) — любая система, реализующая IPv6? Маршрутизатор (router) — узел, пересылающий не адресованные ему пакеты


4.1. Исторические сведения и терминология

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

4.1. Исторические сведения и терминология В «недобрые старые дни» становления компьютерных технологий, примерно совпадающие по времени с периодом использования перфокарт, существовало множество наборов символов. К счастью, с появлением кода ASCII в 1970-х годах эти дни


Терминология

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

Терминология Термины, описывающие различные компоненты сетки, выглядят простыми, но поразительно неопределенными. Например, термин «колонка» кажется достаточно очевидным, но на базе сетки из восьми колонок дизайнер может создать страницу с двумя колонками текста, что


Терминология

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

Терминология Если реляционная СУБД позволяет объявлять отношение между двумя таблицами, иногда это называется декларативной ссылочной целостностью - туманный термин, который, похоже, распространялся писателями журнальных статей. Ссылочная целостность является целью


Терминология

Из книги автора

Терминология Центральным понятием ZFS является пул хранения данных (zpool). В него может объединяться несколько физических устройств хранения — дисков или дисковых разделов, причём первый вариант рекомендуется. Но не запрещёно и создание пула из одного диска или его


Терминология

Из книги автора

Терминология Центральным понятием ZFS является пул хранения данных [zpool]. В него может объединяться несколько физических устройств хранения – дисков или дисковых разделов, причём первый вариант рекомендуется. Но не запрещено и создание пула из одного диска или его