Основы объектно-ориентированного программирования — ответы на тесты Интуит
Правильные ответы выделены зелёным цветом.
Все ответы: Фундаментальный учебник по основам объектно-ориентированного программирования и инженерии программ. В книге подробно излагаются основные понятия объектной технологии – классы, объекты, управление памятью, типизация, наследование, универсализация. Большое внимание уделяется проектированию по контракту и обработке исключений, как механизмам, обеспечивающим корректность и устойчивость программных систем.
Повторному использованию способствует объектный механизм наследования классов. Наследование позволяет классу иметь?
(1) понятие, связанное с вызовом программы, — вызов, заканчивающийся в состоянии, нарушающем контракт
(2) должен быть способ вызова компонентов (процедур, функций), написанных на любых языках программирования
(1) это процесс подстановки фактических параметров вместо формальных параметров универсального класса
Частью контракта, заключаемого между классом-поставщиком и классами, являющимися его клиентами, является?
(1) гарантия поставщиком выполнения всех предусловий методов класса в каждый момент выполнения клиентской программы
(2) гарантия поставщиком выполнения постусловия метода класса, при условии, что клиент гарантировал при вызове метода выполнения предусловия
(3) гарантия поставщиком выполнения постусловий всех методов класса в каждый момент выполнения клиентской программы
(4) обязательная проверка взаимных обязательств – поставщик проверяет выполнимость предусловий, клиент — постусловий
(4) значение x не может измениться, если оно является ссылкой, но поля объекта, с которым связана ссылка, могут меняться
(4) для универсально порожденных классов B [Y] будет согласован с A [X], если B является потомком A, а Y – потомком X
(4) связывание объекта и сущности выполняется еще на этапе трансляции и эта связь не может изменяться динамически в процессе выполнения приложения
(4) класс, для которого задана частичная реализация, но некоторые особенности оставлены для реализации различными потомками
Допустим, класс содержит инструкции: sf: STACK[Figure]; sb: STACK[Book]; f:Figure; b: Book; Какие инструкции допустимы в программах этого класса?
(2) наличие нескольких версий программы (метода), каждая из которых может включаться, если при работе предыдущей версии возникло исключение
(3) наличие нескольких версий программы (метода), каждая из которых включается в зависимости от выбора программиста
(1) удалены предложения наследования и собраны все компоненты, наследуемые от всех предков, называется плоской формой
(3) следует использовать объектный инструментарий (наследование, обертывание), удовлетворяющий критерию Открыт-Закрыт, допускающий расширяемость и повторное использование
(3) библиотечный – использовать для освобождения памяти библиотечные модули, вызываемые программистом
(4) автоматический – возложить обязанности освобождения памяти на сборщик мусора – компонент исполнительной среды
В производственной системе следует предусмотреть возможность включения мониторинга утверждений для проверки?
(2) на экземплярах STRING доступны многочисленные операции: сцепление, выделение символов и подстрок, сравнение и т.д
(4) разрешается изменение типа атрибута и типа аргументов у компонентов в соответствии с правилами согласованности типов
(4) для перечислений, чье множество значений может изменяться, вместо механизма Unique следует использовать наследование
(2) единый синтаксис вызова любых методов и свойств, не позволяющий распознать клиенту, что вызывается – метод или свойство
(3) единый синтаксис вызова свойства и метода без аргументов, не позволяющий распознать клиенту, что вызывается – метод или свойство
(2) класс поведения может не фиксировать структуру данных, так что реализация зависит от дальнейшего выбора структуры данных
(3) класс поведения может не фиксировать спецификацию, так что реализация зависит от дальнейшего уточнения спецификации
(4) класс поведения может не фиксировать алгоритм, так что реализация зависит от дальнейшего выбора алгоритма
(4) линейный алгоритм со сложностью O(n) всегда работает быстрее квадратичного алгоритма со сложностью O(n 2 )
(4) родовые классы могут использоваться для описания общих контейнерных структур данных, реализуемых независимо от типа элементов, которые они содержат
(1) инвариант реализации, – часть инварианта класса – выражает корректность представления классом соответствующего АТД
(2) утверждения служат четырем целям: помогают в конструировании корректных программ; помогают в создании документации, помогают в отладке, являются основой механизма исключений
(1) обработка исключений – это механизм, позволяющий справиться с неожиданными условиями, возникшими в период выполнения
(2) программа получает исключение в результате: отказа вызванной ею программы, нарушения утверждений, сигналов аппаратуры или операционной системы об аномалиях, возникших в ходе их работы
(1) у отложенного класса нет инвариантов, а для отложенного компонента не может быть задано предусловие и постусловие
(1) класс, наследовавший две или более различные и эффективные версии компонента дублируемого предка и не переопределивший их, должен включить одну из них в предложение select
(2) механизм репликации при дублируемом наследовании не должен дублировать компоненты, включающие родовые параметры
(3) в ОО-среде синтаксическая перегрузка столь же полезна, как и семантическая перегрузка, поддерживаемая динамическим связыванием
(4) конфликты имен при множественном наследовании должны устраняться переименованием, выполняемым в родительских классах
(1) язык статически типизирован, если он поставляется с набором согласованных правил, проверяемых компилятором, соблюдение которых гарантирует, что выполнение системы не приведет к нарушению типов
(2) совместное действие ряда полезных механизмов наследования, статической типизации, скрытия потомком может приводить к некорректной работе системы; удачное решение этой проблемы еще не найдено
(4) однократные функции могут применяться для моделирования глобальных значений – «системных параметров»
(3) правило скрытия интерфейсов утверждает, что описание модуля должно содержать лишь описание некоторых свойств и методов модуля
(4) разработчик модуля должен стремиться к тому, чтобы вся информация о модуле содержалась в самом модуле
(2) перегрузка метода является синтаксическим средством; она не решает важных проблем повторного использования и затрудняет читабельность текстов программ
(3) решение проблемы «повторно использовать или переделать» должно позволять сохранять одни свойства повторно используемого модуля и адаптировать другие
(3) конструирование ОО ПО – это построение программной системы как структурированной совокупности реализаций (возможно частичных) абстрактных типов данных
(4) система представляет собой совокупность классов, без выделения какого-либо главного или ответственного класса или головной программы
(4) определение в классе процедур создания автоматически запрещает использование базовой инструкции создания
(2) в статическом режиме сущность может быть присоединена максимум к одному объекту в процессе выполнения программы
Повторному использованию способствует объектный механизм родовых классов. Универсализация позволяет классу иметь?
(1) понятие, связанное с вызовом программы, — вызов, заканчивающийся в состоянии, удовлетворяющему контракту
(1) способ, при котором внешние (не объектные) программы заворачиваются в объектную упаковку, становясь частью классов
(1) это ситуация, при которой родительские классы имеют компоненты с одинаковыми именами или совпадающими реализациями
(3) это ситуация, при которой идет наследование от одного и того же класса по разным путям наследования
(1) совпадает с собственным (непосредственным) инвариантом класса – конъюнкцией утверждений из его раздела invariant
К какому понятию относятся высказывания: «понятие периода исполнения, однозначно идентифицирует объект, может быть пустой»?
Допустим, класс содержит инструкции: sf: STACK[Figure]; sb: STACK[Book]; f:Figure; b: Book; Какие инструкции допустимы в программах этого класса?
Если компоненты родителей имеют одинаковые имена, то при наследовании возникает конфликт имен. Этот конфликт разрешается за счет того, что?
(4) наследник может выполнить склеивание компонентов – ситуация часто возникающая при дублируемом наследовании
Контракты и субподряды. Под субподрядом понимается создание класса – наследника существующего класса. Субподрядчик
(1) метод разработки, строящий архитектуру программной системы на модулях, выведенных из типов объектов
(2) метод разработки, строящий архитектуру программной системы на функциях, которые эта система реализует
(3) специальный вид контейнера данных, в котором размещение элементов определяется внутренней дисциплиной
(3) как фактический аргумент в вызове подпрограммы на месте формальных параметров типа G, или типа ANY
(4) разрешается в интересах эффективности изменять состав верхнего и нижнего классов иерархии — General и None
(3) при вызове вызываемый компонент должен быть объявлен в классе цели и доступен клиенту, осуществляющему вызов
(1) может быть разбита на относительно независимые подсистемы, допускающие самостоятельную разработку
(1) создается новый объект – копия объекта, присоединенного к ссылке правой части, и ссылка левой части присоединяется к этой копии
(2) ссылка левой части присоединяется к объекту, присоединенному к ссылке правой части, только если ссылка левой части имела значение void
(3) ссылка левой части разрывает связь с объектом, к которому она была присоединена, и присоединяется к объекту, присоединенному к ссылке правой части
(4) ссылка левой части сохраняет связь с объектом, к которому она была присоединена, и дополнительно связывается с объектом, присоединенным к ссылке правой части
Тест с ответами: «ООП»
10. Выберите верное утверждение для абстрактного класса для языка С ++:
а) Абстрактный базовый класс навязывает определенный интерфейс всем производным из него классам
б) Невозможно создать объект абстрактного класса +
в) В абстрактном классе не описываются методы вообще
11. Не может быть конструктором данная функция:
а) String (const int a)
б) String (String & s)
в) void String () +
12. За что отвечает свойство Name:
а) За название компонента
б) За имя компонента +
в) За назначение компонента
13. Имя формы, используется для управления формой и доступа к компонентам формы свойство формы Name, так ли это:
а) Да +
б) Нет
в) Иногда
14. Как называется расстояние от верхней границы формы до верхней границы экрана:
а) Значение формы Тор
б) Следствие формы Тор
в) Свойство формы Тор +
15. Для вывода текста на поверхность формы предназначен данный компонент:
а) Label +
б) Edit
в) Button
16. Представляет собой поле ввода-редактирования строки символов этот компонент:
а) Memo
б) Edit +
в) CheckBox
17. Правильной является запись абстрактного класса в С ++:
а) class A +
б) abstract class A
в) class A abstract
18. Правильном о деструкторе класса в С ++, является данное выражение:
а) Деструктор принимает в качестве параметра адрес того объекта, который нужно уничтожить
б) Деструктор не содержит параметров +
в) Деструктор принимает в качестве параметра указатель this
19. Какое название носит свойство, при котором объекты содержат описание атрибутов и действий одновременно:
а) Наследование
б) Полиморфизм
в) Инкапсуляция +
20. Что относится к принципам объектно-ориентированного программирования:
а) Инкапсуляция +
б) Ингаляция
в) Инструкция
21. Что относится к принципам объектно-ориентированного программирования:
а) Отдача
б) Передача
в) Наследование +
22. Укажите один из принципов объектно-ориентированного программирования:
а) Абстракционизм
б) Полиморфизм +
в) Монорфизм
23. Какое название получи метод определения объектов, при котором производные объекты наследуют свойства от своих потомков:
а) Монорфизм
б) Полиморфизм
в) Наследование +
24. Как называется свойство объектов, при котором действие с одинаковыми именами вызывает различное поведение для различных объектов:
а) Полиморфизм +
б) Передача
в) Монорфизм
25. Характеризуют состояние объекта:
а) Доли объекта
б) Части объекта
в) Атрибуты объекта +
26. Что понимают под объектами:
а) Всю абстрактную сущность, заданную набором имен атрибутов и имен методов поведения
б) Некоторую абстрактную сущность, заданную набором имен атрибутов и имен методов поведения +
в) Некоторую видимую сущность, заданную набором имен атрибутов и имен методов поведения
27. Как называют совокупность объектов, характеризующаяся общностью методов и свойств:
а) Класс +
б) Вид
в) Род
28. Какое название получило изменение состояния объекта в ответ на какое-либо действие:
а) Значение
б) Событие +
в) Данность
29. Действие, которое может выполнить объект, называется:
а) Метод +
б) Событие
в) Свойство
30. Что относится к характеристикам объекта:
а) Событие
б) Данность
в) Свойство +