Скачиваний:
89
Добавлен:
27.04.2015
Размер:
113.15 Кб
Скачать

Вариант 1

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

  • у класса поставщика может быть много клиентов;

  • у класса клиента может быть много поставщиков;

  • поставщик может быть собственным поставщиком;

  • клиент может быть собственным клиентом;

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

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

  1. Отметьте истинные высказывания:

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

  • если в методах класса А вызываются методы класса В, то это означает, что класс А является клиентом класса В;

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

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

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

  1. В родительском классе описан метод publicvirtualvoidM(intx) {}. Какие объявления в классе потомке вызовут ошибку на этапе компиляции?

  • override void M(int x){}

  • public override void M(int item){}

  • public new void M(int x){}

  • public virtual void M(int x){}

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

Вариант 2

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

  • у родительского класса может несколько непосредственных потомков;

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

  • класс родитель может быть сам себе родитель;

  • класс потомок может быть собственным потомком;

  • потомок наследует все поля и методы родителя, за исключением закрытых (private);

  1. Отметьте истинные высказывания:

  • класс с модификатором sealedне может иметь потомков;

  • класс с модификатором abstractне может иметь потомков с таким же модификатором;

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

  • класс потомок не наследует конструкторы своего родителя.

  1. В родительском классе описан метод publicvirtualvoidM(intx) {}. Какие объявления в классе потомке вызовут предупреждения на этапе компиляции?

  • override void M(int x){}

  • public override void M(int item){}

  • public new void M(int x){}

  • public virtual void M(int x){}

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

Вариант 3

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

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

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

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

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

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

  1. Отметьте истинные высказывания:

  • вызов конструктора приводит к вызову конструкторов всех предков класса;

  • клиенту доступны все методы поставщика;

  • наследнику доступны все методы предков;

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

  • объект наследника «является» объектом родителя.

  1. В родительском классе описан метод publicvoidM(intx) {}. Какие объявления в классе потомке вызовут ошибки или предупреждения на этапе компиляции?

  • public override void M(int x) {}

  • public new void M(int x) {}

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

  • public void M(int x){}

  • private new void M(int x){}

[Введите текст] Страница 149

Соседние файлы в папке Пособие-Раздела-05-2008