Укажите пары объектов, о которых можно сказать, что они относятся к объектной модели компьютера

Обновлено: 22.11.2024

Объектная модель документа (DOM) — это интерфейс прикладного программирования (API) для документов HTML и XML. Он определяет логическую структуру документов и способ доступа к документу и управления им. В спецификации DOM термин «документ» используется в широком смысле — XML все чаще используется как способ представления множества различных видов информации, которая может храниться в различных системах, и большая часть этого традиционно рассматривается как данные, а не документы. Тем не менее XML представляет эти данные в виде документов, и для управления этими данными можно использовать DOM.

С помощью объектной модели документа программисты могут создавать документы, перемещаться по их структуре, а также добавлять, изменять или удалять элементы и содержимое. Все, что находится в документе HTML или XML, может быть доступно, изменено, удалено или добавлено с помощью объектной модели документа, за некоторыми исключениями — в частности, интерфейсы DOM для внутренних и внешних подмножеств XML еще не определены.

Одной из важных целей объектной модели документа, являющейся спецификацией W3C, является предоставление стандартного интерфейса программирования, который можно использовать в самых разных средах и приложениях. DOM предназначен для использования с любым языком программирования. Чтобы обеспечить точную, независимую от языка спецификацию интерфейсов DOM, мы решили определить спецификации в OMG IDL, как это определено в спецификации CORBA 2.2. В дополнение к спецификации OMG IDL мы предоставляем языковые привязки для Java и ECMAScript (стандартный язык сценариев, основанный на JavaScript и JScript). Примечание. OMG IDL используется только как независимый от языка и реализации способ указания интерфейсов. Можно было бы использовать различные другие IDL. Как правило, IDL предназначены для конкретных вычислительных сред. Объектная модель документа может быть реализована в любой вычислительной среде и не требует сред выполнения привязки объектов, обычно связанных с такими IDL.

Что такое объектная модель документа

DOM – это программный API для документов. Он очень похож на структуру документов, которые он моделирует. Например, рассмотрим эту таблицу, взятую из HTML-документа:

DOM представляет эту таблицу следующим образом:

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

  • интерфейсы и объекты, используемые для представления документа и управления им
  • семантика этих интерфейсов и объектов, включая поведение и атрибуты
  • отношения и сотрудничество между этими интерфейсами и объектами

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

В настоящее время объектная модель документа состоит из двух частей: DOM Core и DOM HTML. Ядро DOM представляет собой функциональность, используемую для XML-документов, а также служит основой для DOM HTML. Соответствующая реализация DOM должна реализовать все основные интерфейсы в главе «Основные» с определенной семантикой. Кроме того, он должен реализовать по крайней мере один интерфейс HTML DOM и расширенный (XML) интерфейс с определенной семантикой.

Чем не является объектная модель документа

  • Хотя на объектную модель документа сильно повлиял "Динамический HTML", на уровне 1 он не реализует весь "Динамический HTML". В частности, события еще не определены. Уровень 1 предназначен для того, чтобы заложить прочную основу для такого рода функций, предоставляя надежную и гибкую модель самого документа.
  • Объектная модель документа не является бинарной спецификацией. Программы DOM, написанные на одном языке, будут иметь совместимый исходный код на разных платформах, но DOM не определяет какой-либо формы двоичного взаимодействия.
  • Объектная модель документа не является способом сохранения объектов в XML или HTML. Вместо указания того, как объекты могут быть представлены в XML, DOM указывает, как документы XML и HTML представляются как объекты, чтобы их можно было использовать в объектно-ориентированных программах.
  • Объектная модель документа — это не набор структур данных, это объектная модель, определяющая интерфейсы. Хотя этот документ содержит диаграммы, показывающие отношения родитель-потомок, это логические отношения, определяемые программными интерфейсами, а не представления каких-либо конкретных внутренних структур данных.
  • Объектная модель документа не определяет "истинную внутреннюю семантику" XML или HTML. Семантика этих языков определяется Рекомендациями W3C для этих языков. DOM — это модель программирования, разработанная с учетом этой семантики. DOM никак не влияет на то, как вы пишете документы XML и HTML; любой документ, который может быть написан на этих языках, может быть представлен в DOM.
  • Объектная модель документа, несмотря на свое название, не является конкурентом объектной модели компонентов (COM). COM, как и CORBA, является независимым от языка способом определения интерфейсов и объектов; DOM — это набор интерфейсов и объектов, предназначенных для управления документами HTML и XML. DOM может быть реализован с использованием независимых от языка систем, таких как COM или CORBA; его также можно реализовать с помощью привязок для конкретного языка, таких как привязки Java или ECMAScript, указанные в этом документе.

Откуда появилась объектная модель документа

DOM возникла как спецификация, позволяющая переносить сценарии JavaScript и программы Java между веб-браузерами. «Динамический HTML» был непосредственным предком объектной модели документа, и первоначально он рассматривался в основном с точки зрения браузеров. Однако, когда в W3C была сформирована рабочая группа DOM, к ней также присоединились поставщики в других областях, включая редакторы HTML или XML и репозитории документов. Некоторые из этих поставщиков работали с SGML до того, как был разработан XML; в результате на DOM повлияли SGML Groves и стандарт HyTime. Некоторые из этих поставщиков также разработали свои собственные объектные модели для документов, чтобы предоставить API для редакторов SGML/XML или репозиториев документов, и эти объектные модели также повлияли на DOM.

Сущности и ядро ​​DOM

В основных интерфейсах DOM нет объектов, представляющих сущности. Ссылки на числовые символы и ссылки на предопределенные объекты в HTML и XML заменяются одним символом, составляющим замену объекта. Например, в: "&" будет заменен символом «&», а текст в элементе P будет образовывать единую непрерывную последовательность символов. Поскольку числовые ссылки на символы и предварительно определенные объекты не распознаются как таковые в разделах CDATA или элементах SCRIPT и STYLE в HTML, они не заменяются одним символом, на который они ссылаются. Если приведенный выше пример был заключен в раздел CDATA, то "&" не будет заменен на "&"; ни

быть распознан как начальный тег. Представление общих сущностей, как внутренних, так и внешних, определяется в расширенных (XML) интерфейсах спецификации уровня 1.

Примечание. Когда DOM-представление документа сериализовано как текст XML или HTML, приложения должны будут проверять каждый символ в текстовых данных, чтобы увидеть, нужно ли экранировать его с помощью числового или предварительно определенного объекта. В противном случае это может привести к недопустимому HTML или XML. Кроме того, реализации должны учитывать тот факт, что сериализация в кодировку символов ("набор символов"), которая не полностью охватывает ISO 10646, может завершиться ошибкой, если в разметке или разделах CDATA есть символы, отсутствующие в кодировке.

Компонентная объектная модель Microsoft (COM) — это независимая от платформы, распределенная, объектно-ориентированная система для создания двоичных программных компонентов, которые могут взаимодействовать. COM – это базовая технология для Microsoft OLE (составные документы), ActiveX (интернет-компоненты), а также других технологий.

Чтобы понять COM (и, следовательно, все технологии, основанные на COM), крайне важно понимать, что это не объектно-ориентированный язык, а стандарт. COM также не указывает, как должно быть структурировано приложение; язык, структура и детали реализации оставлены на усмотрение разработчика приложения. Скорее COM определяет объектную модель и требования к программированию, которые позволяют COM-объектам (также называемым COM-компонентами или иногда просто объектами) взаимодействовать с другими объектами. Эти объекты могут находиться внутри одного процесса, в других процессах и даже на удаленных компьютерах.Они могут быть написаны на разных языках и могут быть совершенно непохожими по структуре, поэтому COM называется двоичным стандартом; стандарт, который применяется после преобразования программы в двоичный машинный код.

Единственным языковым требованием для COM является создание кода на языке, который может создавать структуры указателей и явно или неявно вызывать функции через указатели. Объектно-ориентированные языки, такие как C++ и Smalltalk, предоставляют механизмы программирования, которые упрощают реализацию COM-объектов, но для создания и использования COM-объектов можно использовать такие языки, как C, Java и VBScript.

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

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

В следующих разделах этого раздела описываются основные проблемы COM, связанные с проектированием COM-объектов:

Объектная модель документа (DOM) — это интерфейс прикладного программирования (API) для документов HTML и XML. Он определяет логическую структуру документов и способ доступа к документу и управления им. В спецификации DOM термин «документ» используется в широком смысле — XML все чаще используется как способ представления множества различных видов информации, которая может храниться в различных системах, и большая часть этого традиционно рассматривается как данные, а не документы. Тем не менее XML представляет эти данные в виде документов, и для управления этими данными можно использовать DOM.

С помощью объектной модели документа программисты могут создавать документы, перемещаться по их структуре, а также добавлять, изменять или удалять элементы и содержимое. Все, что находится в документе HTML или XML, может быть доступно, изменено, удалено или добавлено с помощью объектной модели документа, за некоторыми исключениями — в частности, интерфейсы DOM для внутренних и внешних подмножеств XML еще не определены.

Одной из важных целей объектной модели документа, являющейся спецификацией W3C, является предоставление стандартного интерфейса программирования, который можно использовать в самых разных средах и приложениях. DOM предназначен для использования с любым языком программирования. Чтобы обеспечить точную, независимую от языка спецификацию интерфейсов DOM, мы решили определить спецификации в OMG IDL, как это определено в спецификации CORBA 2.2. В дополнение к спецификации OMG IDL мы предоставляем языковые привязки для Java и ECMAScript (стандартный язык сценариев, основанный на JavaScript и JScript). Примечание. OMG IDL используется только как независимый от языка и реализации способ указания интерфейсов. Можно было бы использовать различные другие IDL. Как правило, IDL предназначены для конкретных вычислительных сред. Объектная модель документа может быть реализована в любой вычислительной среде и не требует сред выполнения привязки объектов, обычно связанных с такими IDL.

Что такое объектная модель документа

DOM – это программный API для документов. Он очень похож на структуру документов, которые он моделирует. Например, рассмотрим эту таблицу, взятую из HTML-документа:

DOM представляет эту таблицу следующим образом:

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

  • интерфейсы и объекты, используемые для представления документа и управления им
  • семантика этих интерфейсов и объектов, включая поведение и атрибуты
  • отношения и сотрудничество между этими интерфейсами и объектами

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

В настоящее время объектная модель документа состоит из двух частей: DOM Core и DOM HTML. Ядро DOM представляет собой функциональность, используемую для XML-документов, а также служит основой для DOM HTML. Соответствующая реализация DOM должна реализовать все основные интерфейсы в главе «Основные» с определенной семантикой. Кроме того, он должен реализовать по крайней мере один интерфейс HTML DOM и расширенный (XML) интерфейс с определенной семантикой.

Чем не является объектная модель документа

  • Хотя на объектную модель документа сильно повлиял "Динамический HTML", на уровне 1 он не реализует весь "Динамический HTML". В частности, события еще не определены. Уровень 1 предназначен для того, чтобы заложить прочную основу для такого рода функций, предоставляя надежную и гибкую модель самого документа.
  • Объектная модель документа не является бинарной спецификацией. Программы DOM, написанные на одном языке, будут иметь совместимый исходный код на разных платформах, но DOM не определяет какой-либо формы двоичного взаимодействия.
  • Объектная модель документа не является способом сохранения объектов в XML или HTML. Вместо указания того, как объекты могут быть представлены в XML, DOM указывает, как документы XML и HTML представляются как объекты, чтобы их можно было использовать в объектно-ориентированных программах.
  • Объектная модель документа — это не набор структур данных, это объектная модель, определяющая интерфейсы. Хотя этот документ содержит диаграммы, показывающие отношения родитель-потомок, это логические отношения, определяемые программными интерфейсами, а не представления каких-либо конкретных внутренних структур данных.
  • Объектная модель документа не определяет "истинную внутреннюю семантику" XML или HTML. Семантика этих языков определяется Рекомендациями W3C для этих языков. DOM — это модель программирования, разработанная с учетом этой семантики. DOM никак не влияет на то, как вы пишете документы XML и HTML; любой документ, который может быть написан на этих языках, может быть представлен в DOM.
  • Объектная модель документа, несмотря на свое название, не является конкурентом объектной модели компонентов (COM). COM, как и CORBA, является независимым от языка способом определения интерфейсов и объектов; DOM — это набор интерфейсов и объектов, предназначенных для управления документами HTML и XML. DOM может быть реализован с использованием независимых от языка систем, таких как COM или CORBA; его также можно реализовать с помощью привязок для конкретного языка, таких как привязки Java или ECMAScript, указанные в этом документе.

Откуда появилась объектная модель документа

DOM возникла как спецификация, позволяющая переносить сценарии JavaScript и программы Java между веб-браузерами. «Динамический HTML» был непосредственным предком объектной модели документа, и первоначально он рассматривался в основном с точки зрения браузеров. Однако, когда в W3C была сформирована рабочая группа DOM, к ней также присоединились поставщики в других областях, включая редакторы HTML или XML и репозитории документов. Некоторые из этих поставщиков работали с SGML до того, как был разработан XML; в результате на DOM повлияли SGML Groves и стандарт HyTime. Некоторые из этих поставщиков также разработали свои собственные объектные модели для документов, чтобы предоставить API для редакторов SGML/XML или репозиториев документов, и эти объектные модели также повлияли на DOM.

Сущности и ядро ​​DOM

В основных интерфейсах DOM нет объектов, представляющих сущности. Ссылки на числовые символы и ссылки на предопределенные объекты в HTML и XML заменяются одним символом, составляющим замену объекта. Например, в: "&" будет заменен символом «&», а текст в элементе P будет образовывать единую непрерывную последовательность символов. Поскольку числовые ссылки на символы и предварительно определенные объекты не распознаются как таковые в разделах CDATA или элементах SCRIPT и STYLE в HTML, они не заменяются одним символом, на который они ссылаются. Если приведенный выше пример был заключен в раздел CDATA, то "&" не будет заменен на "&"; ни

быть распознан как начальный тег.Представление общих сущностей, как внутренних, так и внешних, определяется в расширенных (XML) интерфейсах спецификации уровня 1.

Примечание. Когда DOM-представление документа сериализовано как текст XML или HTML, приложения должны будут проверять каждый символ в текстовых данных, чтобы увидеть, нужно ли экранировать его с помощью числового или предварительно определенного объекта. В противном случае это может привести к недопустимому HTML или XML. Кроме того, реализации должны учитывать тот факт, что сериализация в кодировку символов ("набор символов"), которая не полностью охватывает ISO 10646, может завершиться ошибкой, если в разметке или разделах CDATA есть символы, отсутствующие в кодировке.

Tего страница содержит примеры ответов на тест по главе 5 книги Введение в программирование с использованием Java. Обратите внимание, что обычно существует множество правильных ответов на заданный вопрос.

В объектно-ориентированном программировании используются классы и объекты. Что такое классы и что такое объекты? Какова связь между классами и объектами?

При использовании в объектно-ориентированном программировании класс представляет собой фабрику для создания объектов. (Здесь мы говорим о нестатической части класса.) Объект — это набор данных и поведений, которые представляют некую сущность (реальную или абстрактную). Класс определяет структуру и поведение всех сущностей данного типа. Объект — это один конкретный «экземпляр» объекта этого типа. Например, если Dog является классом, то конкретная собака по имени Lassie будет объектом типа Dog.

Внимательно объясните, что означает null в Java и почему необходимо это специальное значение.

Если переменная имеет объектный тип (то есть объявлена ​​с классом или интерфейсом в качестве типа, а не с одним из примитивных типов Java), значение, хранящееся в переменной, не является объектом. Объекты существуют в части памяти, называемой кучей, и переменная содержит указатель или ссылку на объект. Null — это специальное значение, которое можно сохранить в переменной, чтобы указать, что оно фактически не указывает ни на какой объект.

Что такое конструктор? Каково назначение конструктора в классе?

Конструктор — это особый вид подпрограммы в классе. У него то же имя, что и у класса, и у него нет возвращаемого типа, даже void. Конструктор вызывается с оператором new для создания нового объекта. Его основная цель — инициализировать только что созданный объект, но на самом деле он может делать все, что хочет программист.

Предположим, что Kumquat — это имя класса, а Fruit — это переменная типа Kumquat. В чем смысл утверждения «фрукты = новый кумкват();»? То есть, что делает компьютер, когда выполняет это выражение? (Постарайтесь дать полный ответ. Компьютер делает несколько вещей.)

Этот оператор создает новый объект, принадлежащий классу Kumquat, и сохраняет ссылку на этот объект в переменной fruit. В частности, когда компьютер выполняет этот оператор, он выделяет память для хранения нового объекта типа Kumquat. Он вызывает конструктор, который может инициализировать переменные экземпляра объекта, а также выполнять другие задачи. Ссылка на новый объект возвращается как значение выражения " new Kumquat() ". Наконец, оператор присваивания сохраняет ссылку в переменной fruit. Таким образом, теперь можно использовать фрукты для доступа к новому объекту.

Что означают термины переменная экземпляра и метод экземпляра?

Переменные экземпляра и методы экземпляра — это нестатические переменные и методы в классе; то есть их определения в классе не отмечены модификатором "static". Это означает, что они не принадлежат самому классу. Вместо этого они указывают, какие переменные и методы находятся в объекте, принадлежащем этому классу. То есть класс содержит исходный код, который определяет переменные экземпляра и методы экземпляра, но фактические переменные экземпляра и методы экземпляра содержатся в объектах, по крайней мере, логически. (Такие объекты называются «экземплярами» класса.) Таким образом, переменные экземпляра и методы экземпляра — это данные и поведение объектов.

Объясните, что означают термины подкласс и суперкласс

В объектно-ориентированном программировании один класс может наследовать все свойства и поведение другого класса. Затем он может добавлять и изменять то, что он наследует. Класс, который наследуется, называется подклассом, а класс, от которого он наследуется, называется его суперклассом. В Java тот факт, что ClassA является подклассом ClassB, указывается в определении ClassA следующим образом:

Измените следующий класс, чтобы две переменные экземпляра были частными, а для каждой переменной экземпляра существовал метод получения и метод установки:

Чтобы сделать переменную частной, просто добавьте слово "private" перед каждым объявлением. Нам нужно два метода для каждой переменной. Один из них возвращает значение переменной.Другой предоставляет новое значение для переменной. Имена этих методов должны следовать обычному соглашению об именах для методов получения и установки. (Обратите внимание, что в моих методах установки используется специальная переменная this, поэтому я могу использовать то же имя для параметра метода, что и для переменной экземпляра. Это очень распространенный шаблон.)

Объясните, почему класс Player, определенный в предыдущем вопросе, имеет метод экземпляра с именем toString() , несмотря на то, что в определении класса нет определения этого метода.

Если класс не объявлен как расширяющий какой-либо класс, он автоматически расширяет класс Object , который является одним из встроенных классов Java. Так что в данном случае Player является прямым подклассом Object. Класс Object определяет метод toString(), а класс Player наследует этот метод toString() от Object. Методы и переменные-члены в классе включают не только те, которые определены в классе, но и те, которые унаследованы от его суперкласса. (Однако унаследованный метод toString() не создаст полезное строковое представление Player ; чтобы получить его, вам придется переопределить toString() в классе Player.)

Объясните термин полиморфизм

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

(Примечание. Если B является подклассом A, то переменная типа A может ссылаться либо на объект типа A, либо на объект типа B. Предположим, что var является такой переменной, а action() — метод в классе A, который переопределен в классе B. Рассмотрим оператор "var.action()". Выполняет ли он метод из класса A или метод из класса B? Ответ заключается в том, что невозможно сказать! ответ зависит от того, к какому типу объекта относится var, к объекту класса A или к объекту класса B. Метод, выполняемый var.action(), зависит от фактического типа объекта, на который var ссылается во время выполнения, а не от типа переменной var . Это настоящий смысл полиморфизма.)

Java использует "сборку мусора" для управления памятью. Объясните, что здесь подразумевается под сборкой мусора. Какая альтернатива сборке мусора?

Целью сборки мусора является выявление объектов, которые больше нельзя использовать, удаление таких объектов и освобождение занимаемого ими пространства памяти. Если сборка мусора не используется, то программист должен нести ответственность за отслеживание того, какие объекты все еще используются, и удаление объектов, когда они больше не нужны. Если программист делает ошибку, возникает "утечка памяти", которая может постепенно заполнить память бесполезными объектами, пока программа не рухнет из-за нехватки памяти.

Что такое абстрактный класс и как распознать абстрактный класс в Java?

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

Попытка вызвать конструктор " new Vehicle " будет синтаксической ошибкой. (Примечание. Только класс, помеченный как абстрактный, может содержать абстрактные методы экземпляра.)

"this" — это специальная переменная в Java, которую не нужно объявлять. Java делает его доступным автоматически в методах экземпляра и конструкторах. Он содержит ссылку на создаваемый объект или объект, содержащий выполняемый метод экземпляра (или, с точки зрения сообщений, объект, получивший обрабатываемое сообщение). Он предоставляет способ сослаться на «этот объект». Если x является переменной экземпляра, на нее также можно ссылаться как на this.x внутри того же класса. Если doSomething() является методом экземпляра, его также можно вызвать как this.doSomething() внутри того же класса. (Лично я был бы счастливее с Java, если бы требовалось использовать «это», а не использовать его неявно.)

Для этой задачи вы должны написать очень простой, но полный класс. Класс представляет счетчик, который считает 0, 1, 2, 3, 4, . Имя класса должно быть Counter . Он имеет одну закрытую переменную экземпляра, представляющую значение счетчика. Он имеет два метода экземпляра: increment() добавляет единицу к значению счетчика, а getValue() возвращает текущее значение счетчика. Напишите полное определение класса Counter .

Вот возможный ответ. (Обратите внимание, что инициализация переменной экземпляра value нулем на самом деле не требуется, так как она все равно была бы инициализирована нулем, если бы не была указана явная инициализация.)

В этой задаче используется класс Counter из предыдущего вопроса.Следующий сегмент программы предназначен для имитации подбрасывания монеты 100 раз. Он должен использовать два объекта Counter, headCount и tailCount, для подсчета количества выпавших орлов и решек. Заполните пробелы, чтобы это было так:

Компонентная объектная модель Microsoft (COM) — это независимая от платформы, распределенная, объектно-ориентированная система для создания двоичных программных компонентов, которые могут взаимодействовать. COM – это базовая технология для Microsoft OLE (составные документы), ActiveX (интернет-компоненты), а также других технологий.

Чтобы понять COM (и, следовательно, все технологии, основанные на COM), крайне важно понимать, что это не объектно-ориентированный язык, а стандарт. COM также не указывает, как должно быть структурировано приложение; язык, структура и детали реализации оставлены на усмотрение разработчика приложения. Скорее COM определяет объектную модель и требования к программированию, которые позволяют COM-объектам (также называемым COM-компонентами или иногда просто объектами) взаимодействовать с другими объектами. Эти объекты могут находиться внутри одного процесса, в других процессах и даже на удаленных компьютерах. Они могут быть написаны на разных языках и могут быть совершенно непохожими по структуре, поэтому COM называется двоичным стандартом; стандарт, который применяется после преобразования программы в двоичный машинный код.

Единственным языковым требованием для COM является создание кода на языке, который может создавать структуры указателей и явно или неявно вызывать функции через указатели. Объектно-ориентированные языки, такие как C++ и Smalltalk, предоставляют механизмы программирования, которые упрощают реализацию COM-объектов, но для создания и использования COM-объектов можно использовать такие языки, как C, Java и VBScript.

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

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

В следующих разделах этого раздела описываются основные проблемы COM, связанные с проектированием COM-объектов:

Читайте также: