Jump to content

Объект (информатика)

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

Объект — это категория, к которой относятся многие концепции программирования. Например, объектом может быть языка программирования переменная , структура данных , функция или метод .

В объектно-ориентированном программировании (ООП) объект представляет собой абстрактный тип данных с добавлением полиморфизма и наследования . Объектно-ориентированная система объединяет код и данные как объекты, каждый из которых имеет состояние (данные) и поведение (код). Любой язык, который поддерживает конструкцию с состоянием и поведением, классифицируется как объектно-ориентированный . В основанном на классах , объект также известен как экземпляр класса языке , .

В реляционной модели управления базой данных такие аспекты, как таблица и столбец, могут выступать в качестве объектов. [1]

Распределенные объекты

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

Объектно-ориентированный подход — это не просто модель программирования. Его можно с тем же успехом использовать в качестве языка определения интерфейсов для распределенных систем. Объекты в модели распределенных вычислений, как правило, более детализированы, долговечны и более ориентированы на обслуживание, чем объекты программирования.

Стандартным методом упаковки распределенных объектов является использование языка определения интерфейса (IDL). IDL скрывает от клиента все детали объекта распределенного сервера. Подробные сведения о том, на каком компьютере находится объект, какой язык программирования он использует, какую операционную систему и другие проблемы, специфичные для платформы. IDL также обычно является частью распределенной среды, которая единообразным образом предоставляет такие услуги, как транзакции и сохранение, для всех объектов. Двумя наиболее популярными стандартами для распределенных объектов являются Management Group Object стандарт CORBA и DCOM Microsoft . [2]

Помимо распределенных объектов, был предложен ряд других расширений базовой концепции объекта для обеспечения распределенных вычислений:

  • Объекты протокола — это компоненты стека протоколов , которые заключают сетевое взаимодействие в объектно-ориентированный интерфейс.
  • Реплицированные объекты — это группы распределенных объектов (называемых репликами ), которые используют распределенный многосторонний протокол для достижения высокой согласованности между своими внутренними состояниями и скоординированно отвечают на запросы. Примеры включают отказоустойчивые объекты CORBA .
  • Живые распределенные объекты (или просто живые объекты ) [3] обобщить концепцию реплицируемого объекта на группы реплик, которые могут внутренне использовать любой распределенный протокол, что, возможно, приведет лишь к слабой согласованности между их локальными состояниями.

Некоторые из этих расширений, такие как распределенные объекты и объекты протоколов , представляют собой специфичные для предметной области термины для специальных типов «обычных» объектов, используемых в определенном контексте (например, при удаленном вызове метода или композиции протокола ). Другие, такие как реплицированные объекты и живые распределенные объекты , являются более нестандартными, поскольку они отказываются от обычного случая, когда объект одновременно находится в одном месте, и применяют эту концепцию к группам объектов (репликам), которые могут охватывать в нескольких местах, могут иметь лишь слабо согласованное состояние и членство в них может динамически меняться.

Семантическая сеть

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

Семантическая сеть , по сути, представляет собой структуру распределенных объектов. Двумя ключевыми технологиями семантической сети являются язык веб-онтологий (WOL) и структура описания ресурсов (RDF). RDF предоставляет возможность определять базовые объекты — имена, свойства, атрибуты, отношения — которые доступны через Интернет. OWL добавляет более богатую объектную модель, основанную на теории множеств, которая предоставляет дополнительные возможности моделирования, такие как множественное наследование .

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

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

Еще одним важным отличием является то, как модель обрабатывает информацию, которой в данный момент нет в системе. Объекты программирования и большинство систем баз данных используют « предположение о закрытом мире ». Если факт не известен системе, этот факт считается ложным. Объекты семантической сети используют предположение открытого мира : утверждение считается ложным только в том случае, если существует реальная соответствующая информация о том, что оно ложно, в противном случае оно считается неизвестным, ни истинным, ни ложным.

Объекты OWL на самом деле больше всего похожи на объекты в языках фреймов искусственного интеллекта, таких как KL-ONE и Loom.

В следующей таблице традиционные объекты объектно-ориентированных языков программирования, таких как Java или C++, сравниваются с объектами семантической сети: [4] [5]

ООП-объекты Семантические веб-объекты
Классы рассматриваются как типы экземпляров. Классы рассматриваются как совокупности индивидов.
Экземпляры не могут менять свой тип во время выполнения. Членство в классе может измениться во время выполнения.
Список классов полностью известен во время компиляции и не может измениться после этого. Классы можно создавать и изменять во время выполнения.
Компиляторы используются во время сборки. Ошибки времени компиляции указывают на проблемы. Резонеры можно использовать для классификации и проверки согласованности во время выполнения или во время сборки.
Классы кодируют большую часть своего значения и поведения посредством императивных функций и методов. Классы выражают свое значение явно в терминах операторов OWL. Никакой императивный код не может быть прикреплен.
Экземпляры анонимны, поскольку к ним невозможно легко обратиться извне выполняющейся программы. Все именованные ресурсы RDF и OWL имеют уникальный URI, по которому на них можно ссылаться.
Закрытый мир: если информации недостаточно, чтобы доказать истинность утверждения, оно считается ложным. Открытый мир: если информации недостаточно, чтобы доказать истинность утверждения, оно может быть истинным или ложным. [6]

См. также

[ редактировать ]
  1. ^ Оппель, Энди (2005). SQL демистифицирован . МакГроу Хилл. п. 7. ISBN  0-07-226224-9 .
  2. ^ Орфали, Роберт (1996). Основное руководство по выживанию клиента/сервера . Нью-Йорк: Wiley Computer Publishing. стр. 399–403 . ISBN  0-471-15325-7 .
  3. ^ Островски К., Бирман К., Долев Д. и Анн Дж. (2008). «Программирование с использованием живых распределенных объектов», Материалы 22-й Европейской конференции по объектно-ориентированному программированию , Пафос, Кипр, 7–11 июля 2008 г., Дж. Витек, редактор, Конспекты лекций по информатике , том. 5142, Springer-Verlag, Берлин, Гейдельберг, 463-489, http://portal.acm.org/citation.cfm?id=1428508.1428536 .
  4. ^ Бернерс-Ли, Тим; Джеймс Хендлер; Ора Лассила (17 мая 2001 г.). «Семантическая сеть. Новая форма веб-контента, имеющая смысл для компьютеров, откроет революцию новых возможностей» . Научный американец . 284 : 34–43. doi : 10.1038/scientificamerican0501-34 . Архивировано из оригинала 24 апреля 2013 года.
  5. ^ Кнублаух, Хольгер; Оберле, Дэниел; Тетлоу, Фил; Уоллес, Эван (9 марта 2006 г.). «Учебник по семантической сети для разработчиков объектно-ориентированного программного обеспечения» . W3C . Проверено 30 июля 2008 г.
  6. ^ Таблица взята из таблиц: http://www.w3.org/2001/sw/BestPractices/SE/ODSD/.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6039a5202043410224074b96613a684b__1719208140
URL1:https://arc.ask3.ru/arc/aa/60/4b/6039a5202043410224074b96613a684b.html
Заголовок, (Title) документа по адресу, URL1:
Object (computer science) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)