Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVETY_K_EKZAMENU_PO_OOP.doc
Скачиваний:
130
Добавлен:
01.07.2025
Размер:
240 Кб
Скачать
☆

3. Насл-е св-в

Насл-е - св-во класов порождать своих потомков и наследовать св-ва (атрибуты и операции) своих родителей. Класс-потомок автоматически наследует от родителя все атрибуты и операции, а также может вводить новые атрибуты и операции и даже заменять (переопределять) операции родительского класса. Насл-е в 00П позволяет адекватно отражать родственые отношения между объектами предметной области. Если класс В обладает всеми св-вами класса А и еще имеет дополнительные св-ва, то класс А назется базовым (предком), а класс В – подкласом (наследником) класса А. Насл-е св-в только одного баз класса назется одиночным (простым), а паралёльное насл-е св-в сразу нескольких- базовых класов - множвеным (кратным). В С++ возможны оба варианта насл-я класов. Механизм насл-я упрощает процес построения иер-и класов, что сокращает затраты на написание новых класов на основе существующих и обеспечивает исключительную гибкость сисмы класов. Прог-ист обычно определяет баз класс, обладающий наиболее общими св-вами, а затем создает последовательность потомков, кот обладают специфическими св-вами. В рез-те получается иер-я насл-я св-в класов. Базовые классы часто обладают такими абстр-ыми св-вами, что сами в прогах не исп-ются (напр, класс фигура), они необходимы лишь для порождения требуемых класов. Правильный выбор корня обеспечивает простоту построения библиотеки класов. Пример иер-и класов: фигура-> точка-> круг-> цилиндр.

4. Полиморфизм поведенческих св-в объектов

Св-во какого-либо имени проги одновремено обозначать различные сущности назется полиморфизмом этого имени. Это слово означает “много форм”. Понятие полиморфизма в ЯП - одно из основополагающих, и необязательно связывать его только с именами. Правомерно говорить о полиморфных знаках операций — встроеных и/или определяемых. К примеру, в опёрации “а + b” в зависимости от типов а и b знак операция «+» может обозначать операцию сложения целых, вещественых, объединения множв или сцепления строк (можно считать, что: ИХ ИМЯ знак “+“). Полиморфизм проявл и в связи с локализацией имен: одно и то же имя из разных контекстов обозначает разные сущности, а неоднозначность понимания имени ликвидируется языковыми правилами соотнесения имени с контекстом. Полиморфны эл-ты интерфейса програм — как технические (к примеру, клавиша мыши в зависимости от позиции ее курсора имеет разный смысл), так и програмируемые (в частности, одинаковые световые кнопки на разных панелях обозначают различные действия). Если в определении полиморфизма отказаться от одновремености, то можно считать полиморфным понятие переменой, т. к. в разные моменты выполнения проги она содержит (обозначает) различные значения. Пользуясь понятием полиморфизма, всегда нужно четко представлять механизмы, благодаря кот разрешается неоднозначность связывания имени или иного обозначения с обозначаемыми сущностями. Полиморфизм переменой разрешается временем обращения к ней, полиморфизм знака операции или имени процедуры — типами парамов, контекстный полиморфизм имен при локализации — правилами экранирования имен. 00ые языки наряду с традициоными видами полиморфизма предлагают принципиально новые, возможности такого рода. В них полиморфизм часто также определяют, как способность объектов-родствеников по-разному осуществлять однотипные действия, т.е. однотипные действия у множва класов, связаных отношением иер-й, имеют разные формы проявления. С понятием полиморфизма связана проблема времени связывания имени операции с ее телом. Если можно определить на этапе компиляции проги, какая операция с даным именем вызывается в даной точке проги, то имеет место ранее, или статическое связывание. Если же можно сопоставить имени операции конкрётную операцию только на этапе выполнения проги, то имеет место позднее, или динамическое, связывание. Напр, если мы имеем масив фигур и в цикле по этому масиву вызываем метод «нарисовать на Экране», то только в процесе выполнения проги может быть установлено, какая имено фигура явл даным эл-том масива и какой метод ее рисования должен быть применен. Позднее связывание имен операций с их телами явл одним из существеных св-в 00П.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]