игра брюс 2048
Главная / Программирование / Основы объектно-ориентированного программирования / Тест 10

Основы объектно-ориентированного программирования - тест 10

Упражнение 1:
Номер 1
Повторному использованию способствует объектный механизм наследования классов. Наследование позволяет классу иметь?

Ответ:

 (1) одного и только одного непосредственного родителя 

 (2) одного и только одного непосредственного потомка 

 (3) одного или более непосредственных родителей 

 (4) одного или более непосредственных потомков 


Номер 2
Повторному использованию способствует объектный механизм родовых классов. Универсализация позволяет классу иметь?

Ответ:

 (1) один и только один родовой параметр 

 (2) несколько родовых параметров 

 (3) родовые параметры, задающие типы 

 (4) родовые параметры, задающие функции 


Номер 3
Безопасность типов и повторное использование приводят к конфликту интересов. Этот конфликт

Ответ:

 (1) разрешается за счет того, что при статической типизации запрещаются родовые параметры 

 (2) разрешается за счет того, что при введении универсализации запрещается статическая проверка типов 

 (3) неразрешим 

 (4) удается разрешить, сохранив статическую проверку типов и универсализацию 


Упражнение 2:
Номер 1
Родовое порождение

Ответ:

 (1) это процесс подстановки фактических параметров вместо формальных параметров универсального класса 

 (2) требует, чтобы фактические родовые параметры представляли типы 

 (3) создает в результате новый тип 

 (4) разрешает использовать в качестве фактического параметра универсальный класс 


Номер 2
Допустим, класс содержит инструкции: sf: STACK[Figure]; sb: STACK[Book]; f:Figure; b: Book; Какие инструкции допустимы в программах этого класса?

Ответ:

 (1) sf.put(f) 

 (2) sb.put(b) 

 (3) b:= sb.item 

 (4) f:=sf.item 


Номер 3
Универсальный класс – это?

Ответ:

 (1) синоним родового класса 

 (2) синоним параметризованного класса 

 (3) класс с параметрами, заданными типами 

 (4) класс, позволяющий решить проблему универсализации 


Упражнение 3:
Номер 1
Допустим, класс содержит инструкции: sf: STACK[Figure]; sb: STACK[Book]; f:Figure; b: Book; Какие инструкции допустимы в программах этого класса?

Ответ:

 (1) sf.put(f) 

 (2) b := sf.item 

 (3) b:= sb.item 

 (4) sf.item 


Номер 2
Корректно использовать сущность x, чей тип задан формальным родовым параметром G, можно?

Ответ:

 (1) в логических выражениях вида x = y или x /= y, где y также типа G 

 (2) в арифметических выражениях вида x+ y или x- y, где y также типа G 

 (3) как фактический аргумент в вызове подпрограммы на месте формальных параметров типа G, или типа ANY 

 (4) как цель вызова компонента класса ANY 


Номер 3
Наследование и универсализация

Ответ:

 (1) это конкурирующие механизмы 

 (2) это взаимно-дополняющие механизмы 

 (3) работа одного из этих механизмов требует присутствия другого механизма 

 (4) работа одного из этих механизмов исключает присутствие другого механизма 


Упражнение 4:
Номер 1
Корректно использовать сущность x, чей тип задан формальным родовым параметром G, можно?

Ответ:

 (1) слева от оператора присваивания x := y, где выражение y также имеет тип G 

 (2) справа от оператора присваивания y:= x , где сущность y также имеет тип G 

 (3) в арифметических выражениях типа x + y, где оба операнда имеют тип G 

 (4) всюду, где разрешается использовать сущность x конкретного типа 


Номер 2
Эффективно реализованный механизм универсализации требует минимальных затрат

Ответ:

 (1) времени компиляции 

 (2) размера сгенерированного кода 

 (3) времени выполнения 

 (4) памяти, требуемой для выполнения 


Номер 3
Допустим, класс содержит инструкции: sf: STACK[Figure]; sb: STACK[Book]; f:Figure; b: Book; Какие инструкции допустимы в программах этого класса?

Ответ:

 (1) f:= b 

 (2) b:= sf.item 

 (3) sf.put(b) 

 (4) sf.put(sf.item) 


Упражнение 5:
Номер 1
Отметьте истинные высказывания

Ответ:

 (1) ограниченная универсальность предоставляет меньше возможностей в сравнении с общим случаем 

 (2) в языках без статической проверки типов универсализация не нужна 

 (3) статическая проверка типов не возможна при введении универсальных классов с родовыми параметрами 

 (4) родовые классы могут использоваться для описания общих контейнерных структур данных, реализуемых независимо от типа элементов, которые они содержат 


Номер 2
Отметьте истинные высказывания

Ответ:

 (1) механизм ограниченной универсальности поддерживается механизмом наследования 

 (2) универсализация требуется только в типизированном языке, гарантирующем статически проверяемую безопасность типов 

 (3) единственные допустимые операции над сущностью, чей тип является формальным родовым параметром, это операции, применимые к любому типу 

 (4) статическая типизация облегчает читаемость и повышает надежность программы 


Номер 3
Отметьте истинные высказывания

Ответ:

 (1) клиент родового класса должен предоставлять фактические типы для формальных параметров 

 (2) форма универсализации, где формальный родовой параметр уже не может быть произвольным типом, а является типом, гарантирующим предоставление ряда операций, называется ограниченной универсализацией 

 (3) фактический тип при родовом порождении может быть типом, полученным в результате родового порождения 

 (4) реализация универсальности предполагает фактическое создание классов при родовом порождении и приводит к увеличению программного кода 




Главная / Программирование / Основы объектно-ориентированного программирования / Тест 10