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

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

Упражнение 1:
Номер 1
Ключевое слово interface в языке C# задает описание:

Ответ:

 (1) пользовательского интерфейса класса 

 (2) открытой части класса 

 (3) частного случая класса 

 (4) абстрактного класса 


Номер 2
Пусть задано описание интерфейсов: interface IN{string M(string s);} interface IP{string M(string s); string M1(int s);} interface IQ{int M(int s);}. Какие из объявлений классов содержат ошибки

Ответ:

 (1) public class C1:IP{string IP.M(string s){return (s+s);} string IP.M1(int x){return x.ToString();}public int M (int s) { return s++;}} 

 (2) public class C1:IP,IN{string IP.M(string s){return (s+s);} string IP.M1(int x){return x.ToString();}} 

 (3) public class C1:IP,IN{public string M(string s){return (s+s);} public string M1(int x){return x.ToString();}}  

 (4) public class C1:IP,IN,IQ{public string M(string s){return (s+s);} public string M1(int x){return x.ToString();}}  


Номер 3
Пусть задано описание интерфейса и класса: interface IP{string M(string s); string M1(int s);} public class C1:IP{string IP.M(string s){return (s+s);} string IP.M1(int x){return x.ToString();}public int M (int s) { return (s++);}}. Какие из объявлений в клиентском классе выполнимы

Ответ:

 (1) C1 it1 = new C1(); it1.M(7777) 

 (2) C1 it2 = new C1(); string s ="ss"; s =it2.IP.M(s) 

 (3) C1 it3 = new C1(); string s ="ss"; s =((IP)it3).M(s) 

 (4) IP it4 = new IP(); string s= "ss"; s = it4.M(s) 

 (5) IP it5 = (IP) new C1(); string s= "ss"; s = it5.M(s) 


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

Ответ:

 (1) слово «интерфейс» имеет разный смысл в зависимости от контекста 

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

 (3) при наследовании интерфейса ICloneable необходимо реализовать методMemberwiseClone 

 (4) при наследовании двух интерфейсов имена их методов должны быть различными 

 (5) несколько интерфейсов могут быть наследниками одного и того же интерфейса 


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

Ответ:

 (1) для того чтобы объекты собственного класса сравнивать на «больше» и «меньше», необходимо сделать класс наследником интерфейса IComparable 

 (2) для того чтобы объекты собственного класса можно было клонировать, необходимо сделать класс наследником интерфейса ICloneable 

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

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

 (5) реализация метода Clone позволяет организовать глубокое клонирование 


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

Ответ:

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

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

 (3) из-за коллизии имен дублируемое наследование интерфейсов запрещено 

 (4) интерфейс может быть наследником нескольких интерфейсов 


Упражнение 3:
Номер 1
Интерфейс ISerializable

Ответ:

 (1) автоматически реализует глубокую сериализацию 

 (2) позволяет управлять процессом сериализации 

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

 (4) конфликтует с атрибутом класса Serializable 


Номер 2
Класс с атрибутом Serializable

Ответ:

 (1) должен быть наследником интерфейса ISerializable 

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

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

 (4) облегчает организацию обмена данными с удаленным приложением 

 (5) позволяет сохранять данные в текстовом формате 


Номер 3
При наследовании интерфейсов

Ответ:

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

 (2) класс наследник может выполнить переименование методов интерфейса 

 (3) класс наследник может выполнить склейку методов с одинаковой сигнатурой 

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

 (5) объекту интерфейсного типа доступны закрытые методы интерфейса, реализованные в классе 

 (6) объекты интерфейсного типа создаются стандартным путем с помощью конструктора 


Упражнение 4:
Номер 2
Глубокое клонирование

Ответ:

 (1) невозможно из-за проблемы зацикливания 

 (2) возможно только для фиксированного уровня 

 (3) возможно 


Номер 3
Интерфейс отличается от абстрактного класса тем, что:

Ответ:

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

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

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


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

Ответ:

 (1) при множественном наследовании классов проблем больше, чем при множественном наследовании интерфейсов 

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

 (3) для реализации интерфейса IComparable наследнику достаточно реализовать всего один метод CompareTo(object obj) 


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

Ответ:

 (1) метод MemberwiseClone, наследуемый от прародителя object, не может быть вызван у клиента 

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

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


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

Ответ:

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

 (2) различают три типа клонирования: поверхностное (shallow), глубокое (deep) и сверхглубокое (overdeep) 

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




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