Jump to content

Идентичность (объектно-ориентированное программирование)

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

Это тесно связано с философской концепцией идентичности .

Айдентика и ссылки

[ редактировать ]

Ссылка . может использоваться для ссылки на объект с определенным идентификатором Ссылка содержит информацию, необходимую для реализации свойства идентификации на языке программирования , и позволяет получить доступ к объекту с идентификатором. Типом цели ссылки является роль. Обычно ссылки изоморфны адресам памяти. Однако несколько таких ссылок могут ссылаться на один и тот же объект, если присутствует некоторая форма сопоставления адресов ( виртуальные адреса / таблицы страниц / сегменты памяти ).

Идентичность объекта менее полезна в качестве семантического понятия в средах или ситуациях, в которых структура объектов не инкапсулирована, и два объекта считаются одним и тем же объектом на основании наличия идентичных свойств, даже если они на самом деле не являются одним и тем же физическим экземпляром ( структурная эквивалентность). Однако идентичность объекта, тем не менее, может обеспечить оптимизацию. Функция, которая проверяет, являются ли два аргумента одним и тем же объектом, может быстро дать утвердительный ответ, если два аргумента имеют одинаковую идентичность (являются ссылками на один и тот же экземпляр). Только если аргументом являются отдельные объекты, необходимо учитывать отдельные свойства для определения равенства, что является более дорогостоящей операцией. Например, целые числа bignum могут быть объектами, выделенными в куче, так что два bignum считаются одинаковыми, если они представляют одно и то же число. Возможно, было бы напрасной тратой машинных циклов в функции равенства не воспользоваться открытием того, что два сравниваемых аргумента являются ссылками на одно и то же большое число.

Последствия идентичности

[ редактировать ]

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

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

Идентичность и объектно-ориентированная концептуальная модель

[ редактировать ]

Идентичность позволяет построить платонический идеальный мир, онтологию или концептуальную модель, которая часто используется в качестве основы объектно-ориентированного мышления. Концептуальная модель описывает взгляд со стороны клиента на предметную область , терминологию или API . Этот мир содержит точечные объекты в качестве экземпляров , свойства объектов и связи между этими объектами. Объекты в мире можно группировать в классы . Свойства объектов можно группировать для формирования ролей . Ссылки могут быть сгруппированы для формирования ассоциаций . Все локации мира вместе со связями между локациями образуют структуру мира. Эти группы являются типами соответствующих экземпляров мира.

Примечания

[ редактировать ]

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6a1706290de9711d2c5704cdce9208a5__1660402800
URL1:https://arc.ask3.ru/arc/aa/6a/a5/6a1706290de9711d2c5704cdce9208a5.html
Заголовок, (Title) документа по адресу, URL1:
Identity (object-oriented programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)