игра брюс 2048
Главная / Программирование / Основы программирования на C# / Тест 20

Основы программирования на C# - тест 20

Упражнение 1:
Номер 1
Отметьте корректные объявления делегата – функционального класса:

Ответ:

 (1) public class D = delegate void(string s) 

 (2) Delegate D1 = new Delegate( void(string s) 

 (3) public delegate void D2 (string s) 

 (4) delegate int T(int x1, ref int x2) 

 (5) public delegate T1(int x) 


Номер 2
Дано объявление делегата: 	public delegate double D (double x); Какие объявления его экземпляров будут корректны в определенном контексте?

Ответ:

 (1) D d1 = new D(Math.Sin) 

 (2) D d3 = new D(x.f1) 

 (3) D d4 = new D(Person.f2) 

 (4) D d5 = new D(f3) 


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

Ответ:

 (1) каждый объявленный функциональный класс (delegate) является наследником класса Delegate 

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

 (3) один из аргументов функции высшего порядка является экземпляром делегата 

 (4) для делегатов определена операция вычитания 

 (5) определение делегата в точности эквивалентно определению указателя на функцию 


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

Ответ:

 (1) каждый экземпляр делегата обладает методом GetInvocationList 

 (2) над делегатами определена операция умножения * 

 (3) язык C# позволяет построить делегата непосредственным наследованием от абстрактного класса Delegate 

 (4) абстрактный класс Delegate определен в библиотеке FCL 


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

Ответ:

 (1) класс Delegate является наследником интерфейса ICloneable; 

 (2) класс Delegate является наследником интерфейса ISerializable 

 (3) операции + и – позволяют оперировать со списком вызова делегатов 

 (4) метод Combine возвращает в качестве результата объект того же типа, что и экземпляр делегата, вызвавшего метод 


Упражнение 3:
Номер 1
Функция обратного вызова – это:

Ответ:

 (1) функция, прямо или косвенно вызывающая саму себя 

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

 (3) пара функций, взаимно вызывающих друг друга 

 (4) функция высшего порядка 


Номер 2
Реализация экземпляра делегата в виде метода-свойства позволяет:

Ответ:

 (1) скрыть его от клиента 

 (2) иметь один экземпляр вместо нескольких 

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

 (4) экономить память 


Номер 3
Какие методы делегатов являются статическими?

Ответ:

 (1) Combine 

 (2) Clone 

 (3) Remove 

 (4) GetInvocationList 

 (5) GetHashCode 


Упражнение 4:
Номер 1
Экземпляр делегата следует рассматривать как:

Ответ:

 (1) единственную нетипизированную ссылку на метод 

 (2) единственную ссылку на метод с жестко фиксированной сигнатурой, заданной делегатом 

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


Номер 2
Делегат в языке C# задает:

Ответ:

 (1) класс функций с заданной сигнатурой 

 (2) функцию с заданной сигнатурой и с заданной реализацией 

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


Номер 3
При построении программной системы методом раскрутки

Ответ:

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

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

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

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


Упражнение 5:
Номер 1
Правда ли, что:

Ответ:

 (1) класс Delegate не допускает создания потомков в программах на C# 

 (2) пара функций f и g называются функциями обратного вызова, если они взаимно вызывают друг друга 

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


Номер 2
Правда ли, что:

Ответ:

 (1) делегат может быть реализован в виде метода-свойства 

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

 (3) делегаты допускают перегрузку 

 (4) реализация событий основана на делегатах 


Номер 3
Правда ли, что:

Ответ:

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

 (2) каждая функция (метод), сигнатура которого совпадает с сигнатурой делегата, может рассматриваться как экземпляр класса, заданного делегатом 

 (3) над делегатами определены четыре операции (+, -, *, /) 




Главная / Программирование / Основы программирования на C# / Тест 20