Основные соглашения и терминология
Основные соглашения и терминология
Кроме терминов "наследник" и "родитель" будут полезны следующие термины:
Терминология наследования
Потомок класса C - это любой класс, который наследует C явно или неявно, включая и сам класс C. (Формально, это либо C, либо, по рекурсии, потомок некоторого наследника C).
Собственный потомок класса C - это потомок, отличный от самого C.
Предок C - это такой класс A, для которого C является потомком. Собственный предок C - это такой класс A, для которого C является собственным потомком.
В литературе также встречаются термины "подкласс" и "суперкласс", но мы не будем их использовать из-за неоднозначности.
Имеется также терминология для компонентов класса: компонент либо является наследуемым (перешедшим от некоторого собственного предка), либо непосредственным (введенным в данном классе).
При графическом представлении структур ОО-ПО, в котором классы изображаются эллипсами, связи по отношению наследования показываются в виде одинарных стрелок. Тем самым они отличаются от связей по отношению "быть клиентом", которые представляются двойными стрелками.
Рис. 14.1. Связь по наследованию
Переопределяемый компонент отмечается ++ (это соглашение принято в Business Object Notation (B.O.N.)).
Стрелка указывает вверх от наследника к родителю. Это соглашение легко запомнить - оно представляет отношение "наследовать от". В литературе встречается и обратное направление таких стрелок. Хотя обычно выбор графического представления является делом вкуса, в данном случае, одно из них явно лучше другого, поскольку одно наводит на мысль о правильном отношении, а другое может привести к путанице. Стрелка - это не просто произвольная пиктограмма, она указывает на одностороннюю связь между своими двумя концами. В данном случае:
[x]. Всякий экземпляр наследника можно рассматривать как экземпляр родителя, а обратное неверно.
[x]. В тексте наследника всегда упоминается его родитель, но не наоборот. Это, на самом деле, является важным свойством ОО-метода, вытекающим из принципа Открыт-Закрыт, согласно которому класс не "знает" списка своих наследников и других собственных потомков.
Хотя у нас нет жесткого правила, определяющего для достаточно сложных систем размещение классов на диаграммах наследования, мы будем, по возможности, помещать класс выше его наследника.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Терминология
Терминология С точки зрения пользователя,виртуальная машина (ВМ) — это конкретный экземпляр некой виртуальной вычислительной среды («виртуального компьютера»), созданный с помощью специального программного инструмента. Обычно такие инструменты позволяют создавать и
Терминология
Терминология Термины, описывающие различные компоненты сетки, выглядят простыми, но поразительно неопределенными. Например, термин «колонка» кажется достаточно очевидным, но на базе сетки из восьми колонок дизайнер может создать страницу с двумя колонками текста, что
Терминология
Терминология Центральным понятием ZFS является пул хранения данных (zpool). В него может объединяться несколько физических устройств хранения — дисков или дисковых разделов, причём первый вариант рекомендуется. Но не запрещёно и создание пула из одного диска или его
I.3 Терминология
I.3 Терминология Обмен данными, как это принято в технических дисциплинах, имеет собственный язык. Все специалисты в этой области используют одни и те же термины. Единственная проблема заключается в том, что разные группы людей одной специальности применяют одни и те же
22.3 Терминология
22.3 Терминология Версия 6 вносит некоторые изменения в терминологию версии 4 и вводит новые термины:? Пакетом (packet) называется заголовок IPv6 плюс полезные данные? Узел (node) — любая система, реализующая IPv6? Маршрутизатор (router) — узел, пересылающий не адресованные ему пакеты
Терминология
Терминология Слово «фильтр» перекочевало в Photoshop из терминологии, которая использовалась фотографами при съемках обычными фотоаппаратами. Фильтрами называли кусочки стекла или пластика, которые использовались в системе линз. Они могли создавать блики различной формы,
6.1. Терминология и теория
6.1. Терминология и теория В начале 1990-х годов были популярны вирусы и другие программы, целью которых было разрушение информации или просто шутка. Интернет развивался, количество пользователей быстро увеличивалось, и, главное, в Интернет пришли большие деньги. Появились
Терминология
Терминология Существует небольшой словарик C++, которым должен владеть каждый программист. Следующие термины достаточно важны, поэтому имеет смысл убедиться, что мы понимаем их одинаково.Объявление (declaration) сообщает компилятору имя и тип чего-либо, опуская некоторые
4.1. Исторические сведения и терминология
4.1. Исторические сведения и терминология В «недобрые старые дни» становления компьютерных технологий, примерно совпадающие по времени с периодом использования перфокарт, существовало множество наборов символов. К счастью, с появлением кода ASCII в 1970-х годах эти дни
Терминология
Терминология Данная книга не является учебником начального уровня по STL. Предполагается, что читатель уже владеет основными материалом. Тем не менее следующие термины настолько важны, что я счел необходимым особо выделить их.•Контейнеры vector, string, deque и list относятся к
2.4.5. Принципы и терминология
2.4.5. Принципы и терминология Вы должны понять следующие базисные принципы и терминологию.MySQL Falcon объединяет продвинутые методы с упрощенной структурой, которая приводит к высокоэффективной транзакционной базе данных, которая требует небольшого сопровождения или
Терминология
Терминология Если реляционная СУБД позволяет объявлять отношение между двумя таблицами, иногда это называется декларативной ссылочной целостностью - туманный термин, который, похоже, распространялся писателями журнальных статей. Ссылочная целостность является целью
Терминология
Терминология Центральным понятием ZFS является пул хранения данных [zpool]. В него может объединяться несколько физических устройств хранения – дисков или дисковых разделов, причём первый вариант рекомендуется. Но не запрещено и создание пула из одного диска или его
Основные соглашения
Основные соглашения Класс POINT демонстрирует ряд приемов, которые будут использованы в последующих примерах. Необходимо оговорить основные
Терминология
Терминология Обсуждая универсализацию, необходимо уточнить используемые термины.[x]. Процесс порождения нового типа, такого как STACK [POINT], из типов POINT и STACK, можно было бы называть созданием экземпляра типа "generic instantiation". Но этот термин мог бы ввести в заблуждение, поскольку