Данный тест проходят студенты, которые обучаются с системе дистанционного обучения университета "ТИСБИ".
Тест включает в себя 34 вопроса и затрагивает 14 тем. На выполнение теста дается 24 часа.
На данной странице Вы можете купить файл с готовыми ответами на некоторые вопросы теста. В данный момент в файле всего 160 вопросов.
Поэтому, если Вам попадется вопрос, которого нет в файле, то напишите его мне вконтакте. Я решу эти вопросы в счет стоимости данного файла.
Для того, чтобы получить файл с ответами на тест по операционным системам, необходимо добавить работу в корзину, оформить заказ и оплатить его. Сразу же после оплаты Вы сможете скачать работу с сайта в личном кабинете.
P.S. Для тех, кто купил и скачал ответы: в файле нажимаете Ctrl+F, в появившемся окне - кнопку "Параметры >>", в поле "Искать" выбираете "в книге", вводите текст вопроса (или его часть) в поле поиска и жмете "Найти все". Правильные ответы выделены зеленым, неправильные - красным. Удачи!
Ниже представлен перечень вопросов, ответы на который включены в файл, для удобства они разбиты по темам. (для поиска по странице жмите Ctrl+F).
1. Понятие об объектах. Принцип инкапсуляции
- конструктор выполняет инициализацию свойств объекта
- конструктор вызывается раньше всех остальных методов
- конструктор отвечает за создание объекта при выполнении программы
- конструктор отвечает за освобождение памяти, выделенной объекту
- основные стандартные базовые типы
- структурированные свойства-массивы
- объектные свойства
- программные свойства
- конструкторы
- методы доступа к свойствам
- методы, реализующие функциональность объектов класса
- деструкторы
- с каждым объектом связываются данные и программный код
- программный объект является моделью исходного объекта
- объект существует при выполнении программы, занимая часть оперативной памяти
- объекты используются для описания только физических сущностей
- деструктор отвечает за освобождение памяти, выделенной объекту
- деструкторы реализованы не во всех объектных языках
- в языках Java и С# вместо деструкторов используется механизм сборки мусора
- деструктор отсутствуют в языке С++
- объединение в рамках объекта некоторых данных и программного кода обработки этих данных
- ограничение доступа к элементам класса
- механизм взаимодействия объектов
- правила обработки ошибочных ситуаций
- абстрагирование позволяет выделять наиболее существенные особенности описываемых сущностей
- абстрагирование позволяет строить разные описания сложных сущностей в зависимости от решаемой задачи
- абстрагирование неразрывно связано с понятием абстрактного класса
- абстрагирование является основой построения иерархических классификаций
- конструкторы
- методы доступа к закрытым свойствам
- методы, определяющие функциональность объекта
- системные методы
- весь программный код разбивается на подпрограммы-методы
- программный код должен включать один или несколько специальных методов-конструкторов
- для реализации доступа к закрытым данным должны использоваться специальные методы доступа
- весь программный код всегда доступен для использования объектами-клиентами
- открытые методы
- закрытые методы
- абстрактные методы
- перегруженные (overload) методы
- методы оформляются как подпрограммы
- методы могут иметь формальные параметры
- все методы должны иметь программную реализацию
- все методы должны иметь разные имена
- класс должен содержать хотя бы один открытый метод
- открытыми должны быть все методы доступа
- все поля данных должны быть объявлены как открытые
- открытые элементы задаются с помощью директивы OPEN
- использование методов доступа является одним из проявлений принципа инкапсуляции
- эти методы вводятся для организации контролируемого доступа к закрытым данным
- Get-метод (геттер) используется для запроса текущего значения закрытого элемента данных
- Set-метод (сеттер) используется для изменения текущего значения элемента данных
- абстрагирование позволяет выделять наиболее существенные элементы объектов
- абстрагирование позволяет для сложных объектов строить различные описания в зависимости от решаемой задачи
- абстрагирование провозглашает закрытость данных объекта
- абстрагирование определяет объект как набор данных и программного кода
2. Классы и их описание
- директиву class
- директиву abstract
- имя класса
- имя одного или нескольких интерфейсов
- использование методов доступа является одним из проявлений принципа инкапсуляции
- для изменения значения свойства используются Set-методы (сеттеры)
- для запроса значения свойства вводятся Get-методы (геттеры)
- методы доступа всегда являются абстрактными
- абстрактный метод имеет заголовок, но не имеет программной реализации
- класс может содержать несколько абстрактных методов
- абстрактные методы объявляются с помощью директивы abstract
- все абстрактные методы в классе обязательно должны иметь одно и то же имя
- открытый (public)
- защищенный (protected)
- закрытый (private)
- привилегированный (privileged)
- набор методов, связанных с объектом, не изменяется при выполнении программы
- методы могут быть открытыми или закрытыми
- методы определяют поведение объекта
- метод всегда содержит некоторый программный код
- открытые элементы доступны в любом месте программы
- открытые элементы задаются директивой public
- открытыми элементами обычно являются методы класса
- открытыми элементами всегда являются свойства класса
- методы оформляются как подпрограммы
- в одном классе методы могут иметь одинаковые имена
- методы могут быть объявлены абстрактными
- методы могут быть объявлены как статические, классовые
- заголовок с именем класса
- перечень свойств с указанием их типов
- заголовки методов
- программный код обычных (не абстрактных) методов
- перегрузка методов – это наличие в классе нескольких одноименных методов
- перегруженные методы должны отличаться друг от друга числом или типом формальных параметров
- перегружать разрешается только конструкторы
- перегрузка методов реализована только в языке С++
- свойства могут быть статическими (классовыми)
- каждое свойство имеет имя и относится к некоторому типу
- свойства рекомендуется объявлять закрытыми для непосредственного использования вне класса
- свойства в одном классе могут иметь совпадающие имена
- закрытые элементы доступны только внутри класса
- закрытые элементы задаются директивой private
- закрытыми элементами обычно являются свойства класса
- закрытыми элементами являются все методы класса
- все они имеют одинаковый набор полей данных, но могут иметь разные значения этих полей
- максимально возможное число создаваемых объектов определяется ресурсами оперативной памяти
- все созданные объекты используют один набор методов-подпрограмм
- для каждого объекта создается свой отдельный набор методов-подпрограмм
- объектный подход наиболее эффективен при разработке сложных программных систем
- объектный подход позволяет лучше описывать структуру программы
- объектный подход основан на использовании множества взаимодействующих объектов
- любое современное приложение разрабатывается с использованием объектного подхода
- класс является способом формального описания однотипных объектов
- любой объект должен быть отнесен к некоторому классу
- классы могут менять свою структуру во время выполнения программы
- на основе класса можно создать только один объект-экземпляр
3. Создание и использование объектов. Объектные переменные
- ИмяПеременной.ИмяМетода;
- ИмяМетода.ИмяПеременной;
- ИмяМетода(ИмяПеременной);
- ИмяПеременной:ИмяМетода;
- в простейшем случае присваивать можно значения только переменных одного и того же класса
- после выполнения операции обе переменные будут адресовать один и тот же объект
- любой объектной переменной можно присвоить пустое значение
- операция присваивания приводит к созданию копии адресуемого объекта
- объектная переменная используется для доступа к свойствам и методам объекта
- объектная переменная должна иметь имя
- при объявлении объектной переменной обязательно указывается класс, с которым она связывается
- объектная переменная является скрытым, неявным указателем (ссылкой) на размещаемый в памяти объект
- при успешном создании объекта устанавливается адресное значение объектной переменной
- для создания объекта вызывается метод-конструктор
- создание объектов происходит при объявлении объектных переменных
- создание объектов синтаксически оформляется как оператор присваивания
- сравнивать можно только переменные одно и того же классового типа
- операция выполняет сравнение адресных значений объектных переменных
- любую объектную переменную можно сравнивать с пустым значением
- операция сравнения выполняет сравнение значений свойств соответствующих объектов
- MyClass MyObject; MyObject = new MyClass( );
- MyClass MyObject = new MyClass( );
- MyClass MyObject; new(MyObject) ;
- MyClass MyObject;
- присваивание значения одной переменной другой
- сравнение значений двух переменных на равенство или неравенство
- сравнение значений двух переменных на больше-меньше
- любые арифметические операции
- вызов метода для несуществующего объекта
- сравнение объектов разных классов
- присваивание переменной пустого значения
- сравнение объектной переменной с пустым значением
4. Разработка простейшего объекта-контейнера
- каждое изменение размера массива требует некоторого времени
- рекомендуется увеличивать размер массива на 50-100 % от текущего значения
- размер массива всегда увеличивается только на один элемент
- каждое изменение размера массива приводит к выделению новой области памяти
- массив переменных-ссылок на хранимые в контейнере объекты
- счетчик текущего числа объектов в контейнере
- свойство для описания типа хранящихся в контейнере объектов
- указатель размещения в контейнере текущего объекта
- конструктор для создания пустого контейнера
- метод запроса текущего числа объектов в контейнере
- метод добавления нового объекта в контейнер
- метод удаления объекта из контейнера
- метод должен проверять наличие свободного места в массиве ссылок
- метод должен корректно изменять значение счетчика числа объектов в контейнере
- метод рекомендуется оформлять в виде функции, возвращающей признак успешности выполнения операции
- метод может иметь формальный параметр для задания адреса добавляемого объекта
- область памяти с адресом размещения объекта-контейнера
- область памяти, где размещается массив ссылок на объекты
- области памяти с объектами, включенными в контейнер
- область памяти с адресом текущего объекта
- метод рекомендуется оформлять в виде функции, возвращающей признак успешности выполнения операции
- метод должен проверять наличие объектов в контейнере
- метод должен иметь формальный параметр для задания удаляемого объекта
- метод должен корректно изменять значение счетчика числа объектов в контейнере
- определение перечня необходимых свойств
- определение набора необходимых методов
- определение формы каждого метода
- программную реализацию методов
- контейнер/коллекция может иметь свойство для хранения текущего размера массива
- при создании контейнера/коллекции его начальный размер можно устанавливать через параметр конструктора
- метод добавления объекта должен «уметь» выполнять динамическое расширение массива
- размер массива следует изменять с учетом компромисса между временем выполнения и затратами памяти
- массив переменных-ссылок на хранимые в контейнере/коллекции объекты
- счетчик текущего числа объектов в контейнере/коллекции
- свойство для описания типа хранящихся в контейнере/коллекции объектов
- свойство для описания типа используемой структурной основы контейнера/коллекции
- конструктор для создания пустого контейнера
- метод запроса текущего числа объектов в контейнере
- метод добавления нового объекта в контейнер
- метод удаления объекта из контейнера
- контейнер/коллекция - это объект, предназначенный для хранения и обработки некоторых объектов
- контейнер/коллекцию можно реализовать на основе массива или динамического списка
- основные стандартные библиотеки классов содержат реализации контейнеров/коллекций разного типа
- контейнеры/коллекции можно реализовать на основе поискового дерева
- неформальное описание контейнера/коллекции как объекта специального назначения
- формализованное описание контейнера/коллекции в виде класса
- программная реализация методов добавления, удаления, поиска
- проверка работоспособности с помощью тестовой программы
- область памяти с данными самого объекта-контейнера/коллекции
- область памяти, где размещается массив ссылок на хранимые объекты
- области памяти с объектами, включенными в контейнер/коллекцию
- область памяти с объектом-посредником, используемым для доступа к обрабатываемым объектам
Тема 5. Взаимодействие и синхронизация потоков
- эти свойства используются для связи составного объекта со своими объектами-частями
- эти свойства используются для вызова методов объектов-частей
- при объявлении этих свойств указывается имя класса объектов-частей
- значения этих свойств могут устанавливаться только при выполнении конструкторов
- создание необходимых объектов внутри тела конструктора
- получение и использование объектных ссылок на ранее созданные объекты
- вызов конструкторов родительских классов
- обращение к конструкторам дочерних классов
- объект «УчебноеЗдание», объект «УчебноеЗаведение», объект «УчебнаяАудитория»
- объект «Кафедра», объект «Преподаватель», объект «Институт»
- объект «Квартира», объект «Населенный пункт», объект «Дом»
- объект «Шкаф», объект «Стол», объект «Стул»
- класс должен содержать объектное свойство-ссылку на объект класса «Точка»
- класс может использоваться при объявлении более сложного составного класса типа «Деталь»
- класс обязательно должен содержать свойства-координаты центра
- класс должен быть дочерним (производным) относительно класса «Точка»
- класс должен содержать объектное свойство-ссылку на объект класса «Точка»
- класс может использоваться при объявлении более сложного составного класса типа «Деталь»
- класс обязательно должен содержать свойства-координаты левого верхнего угла
- класс должен быть дочерним (производным) относительно класса «Точка»
- возможность повторного использования ранее созданного кода
- возможность создания сложных объектов на основе более простых
- возможность создания более быстрых программ
- возможность использования механизма ограничения доступа к элементам классов
- композиция применяется для отражения связей типа Часть – Целое
- композиция позволяет сводить более сложные объекты к более простым
- композицию можно использовать для связывания любых объектов
- композиция определяет правила ограничения доступа к элементам класса
- если объект А есть часть объекта В
- если объект А есть разновидность объекта В
- если объекты А и В являются экземплярами одного и того же класса
- всегда
- класс должен содержать объектные свойства ссылки на объекты классов "Окружность" и "Прямоугольник"
- метод отображения должен вызывать методы прорисовки своих объектов-частей
- класс обязательно должен содержать объявления координат для всех необходимых базовых точек
- класс должен быть дочерним (производным) относительно класса «Точка»
- композиция используется для моделирования отношения типа «Часть - Целое»
- для реализации композиции объект-клиент должен иметь ссылочную связь с объектом-сервером
- композиция позволяет создавать сложные объекты на основе более простых
- композиционное взаимодействие возможно между любыми объектами
- с помощью ссылочного поля типа Двигатель в классе Автомобиль
- с помощью ссылочного поля типа Автомобиль в классе Двигатель
- эти объекты нельзя связать друг с другом
- за счет объявления класса Двигатель в заголовке класса Автомобиль
- ассоциация используется когда одному объекту просто надо вызвать метод(ы) другого объекта
- для реализации ассоциации объект-клиент должен иметь ссылочную связь с объектом-сервером
- ассоциация используется для моделирования отношения типа "Часть-Целое"
- ассоциация является разновидностью композиции
6. Разработка контейнера на основе адресного списка
- области с данными собираемых в контейнер объектов
- области с данными объектов-посредников
- область с данными самого контейнера
- область, содержащая массив ссылок на объекты
- поле с адресом следующего элемента списка
- поле с адресом связанного с элементом объекта
- конструктор для создания нового объекта-посредника как элемента списка
- методы доступа к адресным полям
- объявление объектной переменной контейнерного типа
- создание контейнера с помощью конструктора
- создание собираемых в контейнер объектов с добавлением их с помощью соответствующего метода
- создание объекта-посредника
- они эффективны в условиях, когда количество собираемых объектов может изменяться в очень больших пределах
- они интенсивно используют механизм динамического распределения памяти
- они обеспечивают эффективное выполнение операций вставки и удаления
- они обеспечивают более высокую скорость поиска по сравнению с контейнерами-массивами
- связующие поля включаются непосредственно в набор полей собираемых в контейнере объектов
- должно быть доступно описание класса собираемых в контейнере объектов
- не требуется описывать и реализовывать класс объектов-посредников
- данная реализация обеспечивает более сильную защиту данных собираемых в контейнере объектов
- добавление новых объектов в контейнер
- удаление заданных объектов из контейнера
- поиск заданных объектов
- итеративную обработку всех объектов в контейнере
- объекты-посредники как элементы списка
- объект-контейнер
- объект-массив указателей
- объект-строка с описанием хранимых объектов
- служебные связующие поля могут включаться в состав полей самих объединяемых в список объектов
- для связывания объектов в единую структуру можно использовать вспомогательные объекты-посредники
- адресный список может быть реализован как двунаправленный
- для хранения адресных связей можно использовать массивы специальной структуры
- организация контролируемого доступа к адресу следующего элемента списка
- организация контролируемого доступа к собираемым в контейнере объектам
- добавление новых объектов в контейнер
- поиск объектов в контейнере
7. Взаимодействие классов на основе наследования
- наследование описывает отношение между классами типа «Общее – частное»
- механизм наследования является принципиальным отличием объектных языков от не-объектных
- наследование можно применить к любым классам
- наследование описывает отношение между классами типа «Часть – целое»
- в заголовке класса указывается имя родительского класса
- если в заголовке класса имя родительского класса не указано, то родителем считается корневой класс Object
- отсутствие в заголовке класса имени родителя считается синтаксической ошибкой
- в заголовке класса можно указать всю цепочку прародителей данного класса
- переопределенный метод отображения окружности
- конструктор
- переопределенный метод перемещения окружности
- методы доступа к координатам центра окружности
- родительский класс может иметь только одного потомка
- дочерние классы могут иметь только одного родителя
- простое наследование приводит к древовидной иерархии классов
- в языках Java и C# реализовано только простое наследование
- в производном классе унаследованные данные и методы определять не надо
- производные классы расширяют и дополняют своих родителей
- на основе дочернего класса можно создавать свои производные классы
- производные классы могут не включать некоторые данные и методы своих родителей
- класс «Студент», класс «Учащийся», класс «Человек»
- класс «Упорядоченный список», класс «Линейный список», класс «Структура данных»
- класс «Стул», класс «Стол», класс «Шкаф»
- класс «Студент», класс «Группа», класс «Факультет»
- закрытые свойства родительского класса недоступны для прямого использования в дочерних классах
- защищенные (protected) элементы родительского класса доступны для прямого использования только в дочерних классах
- при создании нового класса можно использовать три уровня ограничения доступа public/protected/private
- закрытые элементы родительского класса можно сделать открытыми в дочерних классах
- дочерние классы могут иметь несколько родителей
- множественное наследование приводит к получению иерархии классов в виде ориентированного графа
- множественное наследование отсутствует в языках Java и С#
- все стандартные библиотеки классов построены на основе множественного наследования
- в производном классе унаследованные данные и методы определять не надо
- производные классы расширяют и дополняют своих родителей
- на основе дочернего класса можно создавать свои производные классы
- производные классы могут не включать некоторые данные и методы своих родителей
- древовидная иерархия возникает при использовании простого наследования
- все стандартные и нестандартные классы являются прямыми или косвенными потомками корневого класса Object!
- на верхних уровнях иерархии находятся наиболее общие классы, часто — абстрактные
- библиотеки классов для платформ Java и .NЕТ имеют древовидную структуру
- простое наследование
- множественное наследование
- частичное наследование
- двойное наследование
- поле данных для радиуса окружности
- реальные методы прорисовки и перемещения окружности
- методы доступа к радиусу окружности
- поля данных для координат центра окружности
- абстрактные методы доступа к закрытым свойствам класса
- виртуальные методы, разрешенные к переопределению в дочерних классах
- методы-полуфабрикаты, в которых присутствуют вызовы абстрактных виртуальных методов
- обычные методы, полностью готовые к использованию
8. Переопределение методов. Полиморфные (виртуальные) методы
- переопределение методов является одним из проявлений принципа полиморфизма
- переопределение позволяет создавать более гибкие объектные программы
- переопределение используется для создания более быстрых объектных программ
- переопределение обязательно используется во всех объектных программах
- метод отображения объявляется в корневом классе фигур как абстрактный
- метод отображения объявляется в корневом классе фигур как виртуальный
- метод отображения переопределяется в производных классах
- метод отображения наследуется из корневого класса фигур без изменений
- метод перемещения наследуется в производных классах
- метод перемещения динамически настраивается во время выполнения программы
- метод перемещения переопределяется в производных классах
- метод перемещения объявляется и реализуется в корневом классе фигур
- методы отображения объектов
- методы перемещения объектов
- конструкторы
- методы доступа к закрытым данным
- абстрактный виртуальный метод отображения объектов
- частично реализованный метод перемещения объектов
- обычные методы доступа к закрытым данным-координатам базовой точки
- абстрактный виртуальный конструктор
- методы отображения объектов
- методы перемещения объектов
- конструкторы
- методы доступа к закрытым данным
- механизм раннего связывания используется для компоновки обычных невиртуальных методов
- механизм раннего связывания позволяет повысить скорость выполнения программы
- механизм раннего связывания позволяет создавать максимально гибкие программы
- механизм раннего связывания является основой механизма переопределения методов
- для каждого класса, где имеются виртуальные методы создается своя таблица
- таблица содержит адреса всех виртуальных методов класса
- каждый объект имеет связь со своей таблицей виртуальных методов
- для объектной программы создается одна объединенная таблица
9. Какие утверждения относительно динамической компоновки являются правильными
- динамическая компоновка является основой механизма переопределения методов
- динамическая компоновка позволяет создавать более гибкие программы
- при использовании динамической компоновки необходимые фрагменты кода подключаются при выполнении программы
- для реализации динамической компоновки необходимы дополнительные структуры данных
10. Если массив объявлен с классовым типом BaseClass, то какие ссылки он может содержать
- ссылки на объекты класса BaseClass
- ссылки на объекты классов, производных от BaseClass
- ссылки на объекты класса Object/Tobject
- ссылки на объекты любых классов
11. Какие утверждения относительно использования виртуальных методов в языке C# являются правильными
- по умолчанию все методы в классе считаются не определенными
- для объявления метода виртуальным используется директива virtual
- для объявления метода невиртуальным используется директива final
- по умолчанию все методы в классе считаются виртуальными
12. В чем состоит смысл переопределения методов
- в возможности объявления в дочернем классе метода, имеющего одинаковую сигнатуру с родительским методом, но свою программную реализацию
- в возможности объявления в классе нескольких одноименных методов с разными параметрами и разной программной реализацией
- в возможности реализации в классе нескольких конструкторов
- в наличии в классе методов доступа к закрытым данными класса
13. Какие утверждения относительно использования виртуальных методов в языке Java являются правильными
- по умолчанию все методы в классе считаются виртуальными
- для объявления метода невиртуальным используется директива final
- для объявления метода виртуальным используется директива virtual
- по умолчанию все методы в классе считаются обычными, невиртуальными
14. Какие утверждения справедливы относительно понятия «виртуальный метод»
- виртуальные методы позволяют включать механизм позднего связывания
- виртуальные методы позволяют создавать более гибкие программы
- виртуальные методы повышают быстродействие программ
- использование виртуальных методов является обязательным во всех объектных программах
15. Какие разновидности методов может содержать дочерний класс в некоторой иерархии классов
- унаследованные обычные методы, полностью готовые к использованию
- унаследованные методы-полуфабрикаты, при выполнении которых можно подключать необходимые реализации переопределенных виртуальных методов
- переопределенные виртуальные методы родительского класса
- новые методы, реализующие специфику дочернего класса
9. Полиморфизм на уровне объектных переменных
- рефлексия – это процесс получения информации об используемых в программе классах
- механизм рефлексии реализуется с помощью специальных классов
- рефлексия является основой реализации компонентных инструментов разработки приложений
- рефлексия – это способ повышения скорости выполнения объектных программ
- объекты любых стандартных классов
- объекты любых нестандартных классов
- только объекты класса Object
- объекты любых вышестоящих классов
- можно создавать массивы и списки указателей на объекты разных классов
- можно передавать указатели на объекты разных классов как параметры методов
- можно использовать преимущества позднего связывания на основе виртуальных методов
- можно создавать более быстрые программы
- механизм основан на использовании таблиц метаданных
- для проверки текущего типа можно использовать специальные операторы
- при отрицательном результате генерируется специальное исключение
- проверка использует механизм позднего связывания
- метаданные используются для описания структуры классов
- метаданные доступны во время выполнения программы
- все созданные программой объекты связаны со своими метаданными
- доступ к метаданным реализуется на объектном уровне с помощью специальных классов
- переменные интерфейсного типа обладают свойством полиморфности
- переменные интерфейсного типа можно использовать в качестве параметров методов
- переменные интерфейсного типа объявлять запрещается
- переменные интерфейсного типа используются при создании объектов интерфейсных классов
- абстрактные классы
- интерфейсные классы
- обычные классы
- полиморфные классы
- конструкция явного приведения типов необходима для вызова через родительскую ссылку методов дочерних классов
- приведение типов обычно используется совместно с проверкой текущего типа объектной переменной
- для приведения типов можно использовать специальные операторы
- операция приведения типа всегда возвращает логический результат
- массив можно объявить с любым классовым типом, в том числе и абстрактным
- наиболее универсальным является массив с классовым типом Object
- в массив можно собирать как объекты базового класса, так и любых дочерних классов
- для объявления массива надо использовать специальные директивы
- свойство полиморфности объектных переменных имеет смысл только в пределах некоторой иерархии классов
- полиморфная объектная переменная может адресовать объекты своего базового класса и его дочерних классов
- полиморфизм объектных переменных позволяет создавать универсальные хранилища объектов разных классов
- полиморфные объектные переменные объявляются с помощью специальных директив
- Par = Ch1
- Par = Ch2
- Ch1 = Ch2
- Ch1 = Par
10. Разработка универсальных полиморфных контейнеров
1. Какие примеры универсальных контейнеров могут использоваться в практических задачах?
- контейнер графических объектов
- контейнер сотрудников организации с разными формами оплаты
- контейнер управляющих элементов в оконных программах
- контейнер студенческих групп, содержащих объекты-студенты
2. В каких элементах класса «Универсальный контейнер графических объектов на основе массива» используется принцип полиморфизма?
- в объявлении базового массива
- в методе добавления
- в методе отображения всех объектов контейнера
- в конструкторе класса
- необходимо наличие подиерархии классов для графических объектов
- в качестве базового типа необходимо использовать класс Figure
- в контейнер можно добалять любые графические объекты
- контейнер можно реализовать без использования свойства полиморфности объектных перемененных
- базовый массив объявляется с классовым типом Figure
- метод добавления имеет полиморфный параметр типа Figure
- класс содержит методы для полного или частичного отображения графических объектов
- класс объявляется как абстрактный
- методы добавления и удаления элементов в список
- поле данных для адресации соседнего элемента-объекта списка
- поле данных для адресации графического объекта, связанного с текущим элементом списка
- конструктор для создания нового объекта-элемента списка
- массив можно объявить с любым классовым типом, в том числе и абстрактным
- наиболее универсальным является массив с классовым типом Object
- в массив можно собирать как объекты базового класса, так и любых дочерних классов
- для объявления массива надо использовать специальные директивы
- универсальный контейнер может хранить и обрабатывать объекты разных классов
- универсальный контейнер можно разрабатывать для любой подиерархии классов
- универсальный контейнер использует свойство полиморфности объектных переменных
- универсальный контейнер использует механизм переопределения методов
- методы добавления и удаления элементов в список
- поле данных для адресации соседнего элемента-объекта списка
- поле данных для адресации графического объекта, связанного с текущим элементом списка
- конструктор для создания нового объекта-элемента списка
- только абстрактные классы
- класс Figure
- любой класс, имеющий потомков
- класс Object/TObject
- необходимо наличие подиерархии классов для графических объектов
- в качестве базового типа необходимо использовать класс Figure
- в контейнер можно добавлять любые графические объекты
- контейнер можно реализовать без использования свойства полиморфности объектных переменных
- такой контейнер может хранить объекты любых классов
- использование такого контейнера может создавать определенные проблемы
- контейнер с таким типом создавать запрещено
- объявление такого контейнера требует использования специальных директив
- объявление массива ссылок с указанием класса-родоначальника иерархии
- объявление метода добавления объекта в контейнер с использованием полиморфного параметра
- объявление метода получения полиморфной ссылки на объект
- объявление метода-итератора для полиморфной обработки объектов в контейнере
- объявление обычного (не полиморфного) поля для связи с соседними объектами-посредниками
- объявление полиморфной переменной-ссылки на присоединенный информационный объект
- объявление конструктора для создания объектов-посредников
- объявление методов добавления и удаления объектов-посредников
- самая высокая степень у контейнеров с базовым типом Object/Tobject
- самая низкая у контейнеров с базовым классом, у которого нет потомков
- степень универсальности должна быть разумной и соответствовать решаемой задачи
- степень универсальности можно менять во время выполнения программы
- для описания объектов-посредников необходимо использовать дополнительный класс
- поля, используемые для связи объектов, входят в состав объектов-посредников
- объекты-посредники для доступа к самим информационным объектам должны использовать полиморфные ссылки
- связующие поля объявляются как полиморфные переменные
- на основе простого или динамического массива полиморфных переменных
- на основе связанных списков
- на основе поисковых деревьев
- на основе хеш-таблиц
Тема 11. Интерфейсные классы
- интерфейсные классы не могут содержать программную реализацию методов
- между интерфейсными классами поддерживается множественное наследование
- обычные классы можно создавать на основе нескольких интерфейсов
- на основе интерфейсных классов можно создавать объекты-экземпляры
- при объявлении массива можно использовать любой интерфейсный класс
- массив может содержать объекты любых классов, реализующих базовый интерфейс
- массив может содержать только объекты базового интерфейсного класса
- такие массивы объявлять запрещается
- интерфейсный класс содержит только абстрактные методы
- интерфейсные классы между собой поддерживают множественное наследование
- интерфейсные классы являются разновидностями абстрактных классов
- на основе интерфейсных классов можно объявлять и создавать объекты
- переменные интерфейсного типа обладают свойством полиморфности
- переменные интерфейсного типа можно использовать в качестве параметров методов
- переменные интерфейсного типа объявлять запрещается
- переменные интерфейсного типа используются при создании объектов интерфейсных классов
- абстрактные классы могут содержать программную реализацию некоторых методов
- между абстрактными классами поддерживается только простое наследование
- абстрактные классы могут содержать изменяемые поля данных
- на основе абстрактных классов можно создавать объекты-экземпляры
- только один обычный родительский класс
- только один абстрактный родительский класс
- любое количество интерфейсных классов
- любое количество обычных и абстрактных классов
- заголовок содержит директиву interface
- заголовок всегда содержит имя объявляемого интерфейса
- заголовок может содержать список родительских интерфейсов
- заголовок содержит директиву class
Тема 12. Обобщенные или параметризованные классы
- обычную директиву class
- имя класса
- одно или несколько имен обобщенных типов
- специальную директиву generic
- Simple MyIntObj = new Simple(100);
- Simple MyStrObj = new Simple(‘Hello’);
- Simple MyIntObj = new Simple(0.01);
- Simple MyObj = new Simple(100, ‘Hello’);
- на основе одного обобщенного класса можно создавать объекты с разными типами данных
- уменьшается объем исходного текста программ
- более высокую скорость компиляции программ
- более высокую скорость выполнения программ
- условные типы предназначены для замены конкретных реальных типов
- в обобщенном классе можно использовать несколько условных типов
- каждый условный тип имеет свое имя
- условные типы указываются в заголовке обобщенного класса
- значение-ссылку на объекты класса BaseClass
- значение-ссылку на объекты классов, производных от BaseClass
- значение-ссылку на объекты класса Object/TObject
- значение-ссылку на объекты любых классов
- MyClass MyObj = new MyClass(100, 0.1);
- MyClass MyObj = new MyClass(10, ‘Hello’);
- MyClass MyObj = new MyClass(‘Hello’, 0.01);
- MyClass MyObj = new MyClass(100);
- в заголовке указываются имена условных типов
- заголовок содержит имя обобщенного класса
- вместо директивы class используется директива generic
- каждый условный тип описывается с помощью директивы type
- условный тип можно заменять разными конкретными типами
- для замены надо при объявлении объекта указать конкретный тип
- замена выполняется при создании объекта
- при замене не происходит никакого контроля соответствия типов
- в обобщенных классах можно не указывать конкретные типы данных
- на основе одного обобщенного класса можно создавать объекты с разными типами данных
- обобщенные классы позволяют увеличивать скорость выполнения объектных программ
- обобщенными могут быть только абстрактные классы
- при описании полей данных
- при объявлении параметров методов
- при объявлении возвращаемых методами значений
- при описании имен методов
Тема 13. Исключения и их объектная обработка
- некорректное выполнение операций ввода/вывода
- неправильное использование объектных переменных
- некорректное выполнение арифметических операций
- неправильное объявление данных
- исключения связаны с ошибками, которые возникают при выполнении приложения
- обработка исключений в современных программах выполняется на объектном уровне
- использование исключений позволяет разрабатывать надежные программы
- исключения позволяют повысить быстродействие приложений
- выделить потенциально опасные операторы, при выполнении которых могут возникнуть ошибки
- оформить специальные блоки для обработки исключений
- создать объекты-исключения с помощью конструкторов
- после обработки исключения уничтожить объект с помощью деструктора
- начало защищенного фрагмента обозначается директивой try
- защищенный фрагмент может содержать один или несколько потенциально опасных операторов
- программа может содержать несколько защищенных фрагментов
- защищенные фрагменты используются для выявления синтаксических ошибок
- вывод сообщения об ошибке без указания ее типа
- анализ типа ошибки с выводом конкретного сообщения
- использование объекта-исключения для получения полной информации о возникшей ошибке
- использование директивы finally для досрочного прерывания работы блока обработки
- при возникновении исключения автоматически создается объект, содержащий информацию о данной проблеме
- все стандартные особые ситуации классифицированы и описаны в виде классов
- для обработки исключений в программах не нужны никакие дополнительные директивы
- исключения обрабатываются на уровне интерфейсных классов
- блок finally выполняется всегда, независимо от возникновения исключения
- конструкцию следует применять для освобождения используемых ресурсов
- конструкцию можно комбинировать с конструкцией try – catch/except
- блок finally выполняется только при возникновении исключения
- корнем иерархии является класс Exception
- набор стандартных классов можно расширить собственными классами
- классы исключений допускают множественное наследование
- все классы являются абстрактными
- для программной генерации предусмотрены специальные операторы
- для генерации вызывается конструктор соответствующего класса
- после использования объект исключения надо обязательно уничтожить деструктором
- программная генерация исключений разрешена только для стандартных классов
- если при выполнении защищенного кода возникает исключение, то управление сразу передается в блок обработки
- если при выполнении защищенного кода исключения не возникают, то блок обработки пропускается
- блок обработки выполняется всегда
- после выполнения операторов в блоке обработки управление возвращается в критический код
Тема 14. Компонентная разработка приложений. Введение в компонентные модели
- четкая специализация компонента с точки зрения конкретной решаемой задачи
- возможность взаимодействия с другими компонентами
- возможность использования компонентов в инструментах быстрой разработки приложений
- соблюдение правил используемой при разработке компонентной модели
- сериализация позволяет сохранять объекты в файлах в виде потока байтов
- сериализация применима для объектов любых классов, которые реализуют интерфейс Serializable
- сериализация позволяет сохранять и восстанавливать объектную структуру любой сложности
- сериализация основана на использовании механизма позднего связывания
- сокращение объема кода, написанного «вручную»
- уменьшение сроков разработки приложений
- получение более быстрого программного кода
- возможность максимально полного использования аппаратных особенностей процессоров
- размещение необходимых компонентов на форме
- установка свойств размещенных на форме компонентов
- написание необходимых обработчиков событий
- разработка используемых компонентных классов
- компонент — это объект специального вида
- компоненты являются экземплярами компонентных классов
- компоненты являются основой средств быстрой разработки приложений
- компоненты используются только для создания оконного пользовательского интерфейса
- компонентные классы являются разновидностью обычных классов
- компонентные классы оформляются по специальным правилам
- компонентные классы предназначены для использования в инструментах быстрого создания приложений
- компонентные классы никогда не включаются в общую библиотеку классов
- организация в компонентных классах доступа к закрытым полям с помощью специальных элементов-свойств
- использование интерфейсных классов для реализации механизма обработки событий
- возможность сохранения структуры объектов во внешних файлах на основе механизма сериализации
- реализация механизма обработки событий с помощью указателей на функции
- описание компонентного класса содержит закрытые поля данных и открытые свойства
- обработка событий в компонентных классах реализуется с помощью специальных объектов-делегатов
- поддержка компонентной модели стандартными классами базовой библиотеки
- возможность сохранения структуры объектов во внешних файлах на основе механизма сериализации
Тест по объектно-ориентированному программированию (ООП)
- Дисциплина: Программирование
- Код работы: КО-1325
- Работу выложил: Администратор
-
900.00 р.
Не подошла работа?
Узнайте стоимость написания работы по Вашему заданию
(это быстро и бесплатно)