36. Совместимость типов объектов
Наследование до некоторой степени изменяет правила совместимости типов в Borland Pascal. Потомок наследует совместимость типов всех своих предков.
Эта расширенная совместимость типов принимает три формы:
1) между реализациями объектов;
2) между указателями на реализации объектов;
3) между формальными и фактическими параметрами. Совместимость типов расширяется только от потомка к родителю.
Например, TSalaried является потомком TEmployee, а TCommissioned - потомком TSalaried. Рассмотрим следующие описания:
var
AnEmрloyee: TEmployee;
ASalaried: TSalaried;
PCommissioned: TCommissioned;
TEmployeePtr: ^TEmployee;
TSalariedPtr: ^TSalaried;
TCommissionedPtr: ^TCommissioned;
При данных описаниях справедливы следующие операторы присваивания:
AnEmрloyee:=ASalaried;
ASalaried:= ACommissioned;
TCommissionedPtr:= ACommissioned;
В общем случае правило совместимости типов формулируется так: источник должен быть в состоянии полностью заполнить приемник. Порожденные типы содержат все, что содержат их порождающие типы благодаря свойству наследования. Поэтому порожденный тип имеет размер не меньший размера родителя. Присвоение порождающего объекта порожденному могло бы оставить некоторые поля порожденного объекта неопределенными, что опасно и поэтому недопустимо.
В операторах присваивания из источника в приемник будут копироваться только поля, являющиеся общими для обоих типов. В операторе присваивания:
AnEmрloyee:= ACommissioned;
Только поля Name, Title и Rate из ACommissionedбудут скопированы в AnEmployee, так как только эти поля являются общими для TCommissioned и TEmployee. Совместимость типов работает также между указателями на типы объектов и подчиняется тем же общим правилам, что и для реализаций объектов. Указатель на потомка может быть присвоен указателю на родителя. Если дать предыдущие определения, то следующие присваивания указателей будут допустимыми:
TSalariedPtr:= TCommissionedPtr;
TEmployeePtr:= TSalariedPtr;
TEmployeePtr:= PCommissionedPtr;
Формальный параметр (либо значение, либо параметр-переменная) данного объектного типа может принимать в качестве фактического параметра объект своего же типа или объекты всех дочерних типов. Если определить заголовок процедуры следующим образом:
procedure CalcFedTax(Victim: TSalaried);
то допустимыми типами фактических параметров могут быть TSalaried или TCommissioned, но не тип TEmployee. Victim также может быть параметром-переменной. При этом выполняются те же правила совместимости.
Параметр-значение является указателем на действительный, посылаемый в качестве параметра объект, а параметр-переменная является копией фактического параметра. Эта копия включает только те поля, которые входят в тип формального параметра-значения. Это означает, что фактический параметр преобразуется к типу формального параметра.
Автор: Цветкова А.В.
<< Назад: Расширяющиеся объекты
>> Вперед: Об Ассемблере
Рекомендуем интересные статьи раздела Конспекты лекций, шпаргалки:
▪ Криминалистика. Конспект лекций
▪ Трудовое право. Шпаргалка
▪ История государства и права зарубежных стран. Шпаргалка
Смотрите другие статьи раздела Конспекты лекций, шпаргалки.
Читайте и пишите полезные комментарии к этой статье.
<< Назад
Последние новости науки и техники, новинки электроники:
Питомцы как стимулятор разума
06.10.2025
Помимо эмоциональной поддержки, домашние питомцы могут оказывать заметное воздействие на когнитивные процессы, особенно у пожилых людей. Новое масштабное исследование показало, что общение с кошками и собаками не просто улучшает настроение - оно действительно способствует замедлению возрастного снижения умственных способностей.
Работа проводилась в рамках проекта Survey of Health, Ageing and Retirement in Europe (SHARE), охватывающего период с 2004 по 2022 год. В исследовании приняли участие тысячи европейцев старше 50 лет. Анализ показал, что владельцы домашних животных демонстрируют более устойчивые когнитивные функции по сравнению с теми, кто не держит питомцев. Особенно выражен эффект оказался у владельцев кошек и собак.
Согласно данным ученых, владельцы собак дольше сохраняют хорошую память, в то время как хозяева кошек медленнее теряют способность к быстрому речевому взаимодействию. Исследователи связывают это с тем, что ежедневное взаимодействие с животными требует внимани ...>>
Мини-ПК ExpertCenter PN54-S1
06.10.2025
Компания ASUSTeK Computer презентовала новый мини-компьютер ASUS ExpertCenter PN54-S1. Устройство ориентировано на пользователей, которым важно сочетание производительности, энергоэффективности и универсальности - от офисных задач до мультимедийных проектов.
В основе ExpertCenter PN54-S1 лежит современная аппаратная платформа AMD Hawk Point, использующая архитектуру Zen 4. Это поколение чипов отличается улучшенным управлением энергопотреблением и повышенной вычислительной мощностью. Новинка доступна в конфигурациях с процессорами Ryzen 7260, Ryzen 5220 и Ryzen 5210, представленных AMD в начале 2025 года. Таким образом, устройство охватывает широкий диапазон задач - от базовых офисных до ресурсоемких вычислений.
Корпус мини-ПК выполнен из прочного алюминия и имеет размеры 130×130×34 мм, что делает его практически незаметным на рабочем столе или за монитором. Несмотря на компактность, внутренняя компоновка позволяет установить два модуля оперативной памяти SO-DIMM ...>>
Глазные капли, возвращающие молодость зрению
05.10.2025
С возрастом человеческий глаз постепенно теряет способность четко видеть на близком расстоянии - развивается пресбиопия, или возрастная дальнозоркость. Этот естественный процесс связан с утратой эластичности хрусталика и ослаблением цилиарной мышцы, отвечающей за фокусировку. Миллионы людей по всему миру сталкиваются с необходимостью носить очки для чтения или прибегают к хирургическим методам коррекции. Однако исследователи из Центра передовых исследований пресбиопии в Буэнос-Айресе представили решение, которое может стать удобной и неинвазивной альтернативой - специальные глазные капли, способные улучшать зрение на длительный срок.
Разработку возглавила Джованна Беноцци, директор Центра. По ее словам, цель исследования состояла в том, чтобы предоставить пациентам с пресбиопией эффективный и безопасный способ коррекции зрения без хирургического вмешательства. Новые капли, созданные на основе пилокарпина и диклофенака, показали убедительные результаты: уже через час после первого пр ...>>
Случайная новость из Архива Недорогой RGB-датчик Avago в миниатюрном корпусе
26.12.2008
ADJD E622-QR999 - недорогой CMOS RGB-датчик цвета в миниатюрном корпусе QFN-16. В датчик, помимо фотодиодной матрицы, встроены цветовые RGB-фильтры и усилители.
Микросхема преобразует поступающий на нее RGB-цветовой поток в аналоговое значение напряжения на выходе - VROUT, VGOUT и VBOUT, соответственно. ADJD-E622-QR999 разработан для измерений цвета в широком динамическом диапазоне уровней освещенности. Датчик может использоваться в паре с белым светодиодом для измерения цвета его отраженного излучения.
Области применения: обнаружение и измерение цвета освещения, мобильные телефоны, КПК, MP3-плееры, потребительская электроника, портативные медицинские приборы, портативные детекторы цвета.
|
Другие интересные новости:
▪ Компактный стабилизатор для смартфонов DJI Osmo Mobile 3
▪ Электронный тренажер силы воли
▪ Ветра для энергетики хватит на всех
▪ Световые ураганы для скоростной передачи данных
▪ Адаптер Apex Storage X21 AIC
Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки:
▪ раздел сайта Защита электроаппаратуры. Подборка статей
▪ статья Концы в воду. Крылатое выражение
▪ статья Где появилась первая настоящая карта? Подробный ответ
▪ статья Управляющий делами. Должностная инструкция
▪ статья Усовершенствованный металлоискатель на транзисторах с кварцем. Энциклопедия радиоэлектроники и электротехники
▪ статья Складывая цвета. Физический эксперимент
Оставьте свой комментарий к этой статье:
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua
2000-2025