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

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

Упражнение 1:
Номер 1
Для классов клиентов и поставщиков справедливы утверждения:

Ответ:

 (1) у класса поставщика может быть много клиентов 

 (2) у класса клиента может быть много поставщиков 

 (3) поставщик может быть собственным поставщиком 

 (4) клиент может быть собственным клиентом 

 (5) отношение «клиент-поставщик» – задает отношение «имеет» 

 (6) отношение «клиент-поставщик» – задает отношение «является» 


Номер 2
Для классов родителей и потомков справедливо следующее утверждение:

Ответ:

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

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

 (3) класс родитель может быть сам себе родитель 

 (4) класс потомок может быть собственным потомком 


Номер 3
Для понятия «полиморфизм» справедливы следующие утверждения

Ответ:

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

 (2) полиморфизм определяется для семейства классов, связанных отношением вложенности 

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

 (4) реализация полиморфизма построена на динамическом связывании 

 (5) реализация полиморфизма предполагает статический контроль типов 


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

Ответ:

 (1) класс называется абстрактным, если он не вводит собственных полей данных 

 (2) если метод класса А объявлен с модификатором virtual, то для него применяется статическое связывание 

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

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

 (5) в проектах на C# контроль типов выполняется на этапе компиляции 


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

Ответ:

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

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

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

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


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

Ответ:

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

 (2) клиенту доступны все методы поставщика 

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

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


Упражнение 3:
Номер 1
В родительском классе описан метод public virtual void M(int x) {}. 
Какое объявление в классе потомке вызовет ошибку на этапе компиляции, не допускающую выполнения проекта?

Ответ:

 (1) override void M(int x){} 

 (2) public override void M(int item){} 

 (3) public new void M(int x){} 


Номер 2
В родительском классе описан метод public virtual void M(int x) {}. Какое объявление в классе потомке вызовет ошибку на этапе компиляции?

Ответ:

 (1) public override void M(int item){} 

 (2) public new void M(int x){} 

 (3) public override virtual void M(int x){} 

 (4) public virtual void M(int x, int y){} 


Номер 3
В родительском классе описан метод public void M(int x) {}. Какие объявления в классе потомке вызовут ошибки или предупреждения на этапе компиляции?

Ответ:

 (1) public override void M(int x) {} 

 (2) public new void M(int x) {} 

 (3) public new void M(int x, int y){} 

 (4) public void M(int x){} 

 (5) private new void M(int x){} 


Упражнение 4:
Номер 1
Если метод родительского класса объявлен с атрибутом virtual, то потомок класса:

Ответ:

 (1) обязан переопределить реализацию метода 

 (2) обязан переопределить сигнатуру метода 

 (3) может наследовать реализацию класса 


Номер 2
Класс А является клиентом класса B

Ответ:

 (1) если методы и или поля класса A вызываются в методах класса B 

 (2) если методы и или поля класса B вызываются в методах класса A 

 (3) если у класса A есть поле, являющееся объектом класса B 


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

Ответ:

 (1) поле класса может быть объектом описываемого класса 

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

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




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