Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Информатика и информационные технологии. Совместимость типов объектов (самое важное)

Конспекты лекций, шпаргалки

Справочник / Конспекты лекций, шпаргалки

Комментарии к статье Комментарии к статье

Оглавление (развернуть)

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 также может быть параметром-переменной. При этом выполняются те же правила совместимости.

Параметр-значение является указателем на действительный, посылаемый в качестве параметра объект, а параметр-переменная является копией фактического параметра. Эта копия включает только те поля, которые входят в тип формального параметра-значения. Это означает, что фактический параметр преобразуется к типу формального параметра.

Автор: Цветкова А.В.

<< Назад: Расширяющиеся объекты

>> Вперед: Об Ассемблере

Рекомендуем интересные статьи раздела Конспекты лекций, шпаргалки:

Криминалистика. Конспект лекций

Поликлиническая педиатрия. Шпаргалка

Экономика. Конспект лекций

Смотрите другие статьи раздела Конспекты лекций, шпаргалки.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Рыжий ген и ускоренная эволюция 30.04.2026

Вопрос о том, как и насколько быстро меняется человеческий вид, давно занимает биологов и генетиков. Долгое время считалось, что эволюционные процессы происходят крайне медленно, однако новые данные заставляют пересматривать эти представления. Особенно интересные результаты связаны с изменением частоты редких генетических признаков, включая рыжий цвет волос. Рыжеволосость сегодня остается редкой чертой: ее носители составляют менее 2 процентов мирового населения. Однако анализ древней и современной ДНК показывает, что ген, связанный с этим признаком, за последние примерно 10 тысяч лет стал заметно более распространенным, особенно среди популяций Европы. Более того, вместе с ним исследователи фиксируют и другие изменения в генетическом профиле человека, затрагивающие внешность и физиологические особенности. Среди сопутствующих тенденций, выявленных в генетических данных, отмечается увеличение частоты светлой кожи, снижение вероятности мужского облысения, а также некоторые физиолог ...>>

Нейтринный лазер 30.04.2026

Нейтринный лазер - это гипотетическое устройство, способное управлять потоками одних из самых трудноуловимых частиц во Вселенной. Такая разработка открывает новые горизонты в изучении фундаментальных законов природы и может изменить представления о космосе. Идею нового типа излучателя представили физики из Massachusetts Institute of Technology, предложив лазер, который вместо света генерирует поток нейтрино. Эти частицы, почти не взаимодействующие с материей, настолько слабо проявляют себя, что их часто называют "частицами-призраками". Тем не менее они пронизывают все вокруг: по оценкам, триллионы нейтрино ежесекундно проходят через человеческое тело, не оставляя следа. Несмотря на их колоссальную распространенность во Вселенной, нейтрино остаются одними из наименее изученных частиц. Их крайне сложно регистрировать, а еще сложнее контролировать, поэтому традиционно их получают в крупных установках вроде ядерных реакторов или ускорителей частиц. Такие комплексы требуют огромных за ...>>

Мороженое не такое вредное, как принято считать 29.04.2026

В питании часто встречаются продукты, которые одновременно вызывают удовольствие и сомнения с точки зрения здоровья. К таким относится и мороженое: оно воспринимается как типичный десерт с высоким содержанием сахара и жиров, однако современные научные данные постепенно усложняют это привычное представление. Долгое время считалось, что мороженое не может быть частью рационального питания, однако исследования последних лет показывают более неоднозначную картину. Ученые подчеркивают, что влияние этого продукта на организм зависит не только от его сладости или калорийности, но и от состава, качества ингредиентов и общего образа жизни человека. Одни из наиболее масштабных данных были получены в рамках долгосрочных наблюдений в США, включавших проекты Nurses Health Study, Nurses Health Study II и Health Professionals Follow-Up Study. В этих исследованиях на протяжении 20-40 лет наблюдали примерно 190 тысяч взрослых участников, регулярно собирая данные об их питании, физической активнос ...>>

Случайная новость из Архива

Брызгуны на помощь 22.04.2016

Брызгунами называется род лучеперых рыб отряда окунеобразных, отличающихся способностью брызгать водой с целью сбить насекомых, которыми они питаются. В зависимости от размера брызгун может "стрелять" на расстояние до двух метров. Благодаря такой способности брызгуны в своем английском наименовании - archerfish - стали популярны в ВМФ США, и этим именем были названы 2 подводных лодки, одна типа Balao во время Второй мировой войны, а вторая атомная класса Sturgeon, состоявшая на вооружении с 1971 г. по 1998 г.

В 2003 г. ВМФ США объявил о начале программы под названием "Система нейтрализации мин с воздуха", которая предполагала создание управляемого на расстоянии аппарата для борьбы с минами. В качестве базового концепта был выбран проект Archerfish, предложенный британской компанией ВАЕ Systems, и его разработка началась в 2007 г. А в этом году Министерство обороны США заключило с ВАЕ Systems контракт на сумму $22 млн. на промышленное производство "Брызгуна".

В отличие от других автономных противоминных подводных устройств Archerfish может запускаться не только с кораблей, но и с вертолетов - в данном конкретном случае с вертолета Сикорского MH-60S. После того, как аппарат выпускается в воду, он движется под водой в поисках мин, а управляет им с вертолета оператор, передавая команды по оптиковолоконному кабелю. Двойной движитель позволяет Archerfish работать в двух режимах: движения по направлению к цели и зависания для идентификации и уничтожения цели.

Когда "Брызгун" обнаруживает мину с помощью гидролокатора и видеокамеры, оператор дает команду на поражение с помощью боеголовки направленной энергии. Какой именно, ВАЕ Systems не упоминает, но тут же указывает, что компания также разрабатывает и поставляет современные программируемые мины с использованием новых нечувствительных взрывчатых веществ с пластичным связующим - надо полагать, нечувствительных к "Брызгуну".

Другие интересные новости:

▪ Самое мощное стабильное магнитное поле

▪ Смартфон Fujitsu Arrows A 202F

▪ DSP56371 - процессор обработки аудиосигналов

▪ Чистя зубы, важно не перестараться

▪ Муравьи умеют предсказывать землетрясения

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Блоки питания. Подборка статей

▪ статья Юрген Хабермас. Знаменитые афоризмы

▪ статья Солдаты каких стран устроили на фронте перемирие и совместно встретили Рождество? Подробный ответ

▪ статья Закапывание капель. Медицинская помощь

▪ статья Охранное устройство с управлением ключами-таблетками iBUTTON. Энциклопедия радиоэлектроники и электротехники

▪ статья Букет из трубки. Секрет фокуса

[an error occurred while processing this directive] Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026