Главная / Программирование /
Введение в программирование / Тест 16
Введение в программирование - тест 16
Упражнение 1:
Номер 1
Какой модификатор метода языка C# определяет статический метод:
Ответ:
 (1) virtual
 
 (2) extern
 
 (3) static
 
Номер 2
Какой модификатор метода языка C# определяет метод, скрывающий в производном классе наследуемый метод с тем же именем:
Ответ:
 (1) extern
 
 (2) static
 
 (3) override
 
 (4) new
 
Номер 3
Какой модификатор метода языка C# определяет абстрактный метод:
Ответ:
 (1) extern
 
 (2) static
 
 (3) abstract
 
 (4) override
 
 (5) new
 
Упражнение 2:
Номер 1
Какой модификатор определяет изолированный класс языка С#:
Ответ:
 (1) internal
 
 (2) abstract
 
 (3) sealed
 
Номер 2
Как в языке C# указывается, что класс следует использовать в качестве базового класса:
Ответ:
 (1) используется модификатор класса abstract
 
 (2) используется модификатор класса sealed
 
 (3) любой класс всегда может быть использован как базовый 
Номер 3
Как в языке C# указывается, что класс будет общедоступен:
Ответ:
 (1) используется модификатор доступа public
 
 (2) используется модификатор доступа internal
 
 (3) класс всегда доступен для всех файлов 
Упражнение 3:
Номер 1
Один класс языка C# может наследовать:
Ответ:
 (1) несколько интерфейсов и один класс 
 (2) несколько классов и несколько интерфейсов 
 (3) только один класс и только один интерфейс 
Номер 2
Укажите код, не содержащий ошибок:
Ответ:
 (1) public class CMyInterface : IMyInterface
{ public CMyInterface(){ }
public abstract int M1();
public abstract int M2(); }
interface IMyInterface
{ int M1(); int M2();} 
 (2) public abstract class CMyInterface : IMyInterface
{ public CMyInterface(){ }
public abstract int M1();
public abstract int M2(); }
interface IMyInterface
{ int M1(); int M2();} 
 (3) public abstract class CMyInterface : IMyInterface
{ public CMyInterface(){ }
public abstract int M1(); }
interface IMyInterface
{ int M1(); int M2();} 
 (4) public abstract class CMyInterface : IMyInterface
{ public CMyInterface(){ }
abstract int M1(); }
interface IMyInterface
{ int M1();  
Номер 3
Укажите код, не содержащий ошибок:
Ответ:
 (1) public class CA
{ public CA() { }
virtual string F2() {return "F2";}
}
{ public class CB :CA
{
public CB() { }
override string F2() {return "F2";}
} 
 (2) public class CA
{ public CA() { }
public int F1() { return 1; }
public virtual string F2() {return "F2";}
}
{ public class CB :CA
{
public CB() { }
public int F1() {return 2; }
public override string F2() { return "F2";}
} 
 (3) public class CA
{ public CA() { }
public string F2() {return "F2";}
}
{ public class CB :CA
{
public CB() { }
public override string F2() {return "F2";}
} 
Упражнение 4:
Номер 1
Какой модификатор метода языка C# определяет метод, выполняющий переопределение виртуального метода, наследуемого от базового класса:
Ответ:
 (1) extern
 
 (2) static
 
 (3) override
 
 (4) virtual
 
 (5) new
 
Номер 2
Какой модификатор метода языка C# указывает метод, реализация которого может быть переопределена в производных классах:
Ответ:
 (1) extern
 
 (2) static
 
 (3) override
 
 (4) virtual
 
 (5) new
 
Номер 3
Как в языке C# указывается, что класс будет доступен для файлов, входящих в ту же сборку:
Ответ:
 (1) используется модификатор доступа public
 
 (2) используется модификатор доступа internal
 
 (3) класс всегда доступен для всех файлов в сборке 
Упражнение 5:
Номер 1
Как в языке C# указывается, что класс нельзя использовать в качестве базового класса:
Ответ:
 (1) используется модификатор класса abstract
 
 (2) используется модификатор класса sealed
 
 (3) любой класс может всегда быть использован как базовый 
Номер 2
Если класс языка C#, наследующий интерфейс, не является абстрактным, то:
Ответ:
 (1) он в любом случае должен реализовать методы, объявленные в интерфейсе 
 (2) он может не иметь реализации методов, объявленных в интерфейсе 
 (3) методы, объявленные в интерфейсе, могут не иметь реализации только в том случае, если они объявляются с модификатором abstract
 
Номер 3
Если класс языка C# наследует интерфейс, то:
Ответ:
 (1) он в любом случае должен реализовать методы, объявленные в интерфейсе 
 (2) он может не иметь реализации методов, объявленных в интерфейсе 
 (3) методы, объявленные в интерфейсе, могут не иметь реализации только в том случае, если они объявляются с модификатором abstract