C#_ ООП и классы



Авторы специализируются на тестах по любым дисциплинам! Средний балл по тестам 4,6.
 
Любые вопросы по дистанционному обучению. Тесты, письменные работы, сессия под ключ.
 
Известный интернет сайт, помощь по любым учебным вопросам - от теста до дипломной работы. Личный менеджер.
 
Крупная биржа студенческих работ. Закажи напрямую у преподавателя. Низкие цены, стена заказов.
 
Биржа студенческих работ. Потребуется самостоятельная выгрузка работ.
 

Исходный модуль содержит код:

internal class Point { public double x,y; public Point(double x, double y) { this.x = x; this.y = y; } public static void Move(double d){ x+=d; y+=d;} } class Program { static void Main() { Point p = new Point(1,1); Point.Move(2); } }

Метод Main разрабатывался для перемещения точки по обеим координатам на 2.

Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:

  • тип Point не доступен из класса Program
  • значение полей x и y не определено
  • (Правильный ответ) метод Move не может обращаться к полям объекта
  • в классе Point не определен конструктор без параметров
  • метод Move должен вызываться как метод объекта, а не метод класса

Исходный модуль содержит определения:

struct Лампочка { public int мощность; public Лампочка(int мощность){this.мощность=мощность;} }class Прибор { public Лампочка[] лам; public Прибор(Лампочка[] лам) { this.лам = лам;} public int Мощность { get { int s=0; for (int i = 0; i < лам.Length; i++) s += лам[i].мощность; return s; } } }

В классе Program определен метод Main, в теле которого находится код:

Лампочка л1 = new Лампочка(50);Лампочка л2 = new Лампочка(100); Лампочка[] лам = new Лампочка[] { л1, л2 }; Прибор пр1=new Прибор(лам); л2 = л1; Прибор пр2=new Прибор(лам); System.Console.WriteLine(пр1.Мощность + пр2.Мощность);

Укажите результат вывода на консоль после выполнения метода Main():

  • (Правильный ответ) 300
  • 250
  • 400
  • 100
  • 200

Проанализируйте приведенный код.

delegate void MyEventHandler(ref int a); class MyEvent { public event MyEventHandler SomeEvent; public void OnSomeEvent(ref int d) { if (SomeEvent != null) SomeEvent(ref d); } }class EventTest{ static void Handler1(ref int b) { b = 2 * b; } static void Handler2(ref int c) { c = c + 12; Handler1(ref c);} public static void Main() { MyEvent evt = new MyEvent(); int a = int.Parse(System.Console.ReadLine()); if (a > 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler1); else if (a < 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler2); evt.OnSomeEvent(ref a); System.Console.WriteLine(a); } }

Пользователь собирается после запуска программы ввести число -5. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • программа завершится аварийно
  • 7
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) 14
  • -5

Приведенному ниже коду доступно пространство имен System.

class ExceptA : ApplicationException { } class ExceptB : ExceptA { } public static void Main() { string a = Console.ReadLine(); string b = Console.ReadLine(); try { if (a == «»end»») throw new ExceptA(); else if (b == «»exit»») throw new ExceptB(); else throw new Exception(); } catch (ExceptB) { Console.Write(«» Исключение-1″»); } catch (ExceptA) { Console.Write(«» Исключение-2″»); } catch (Exception){ Console.Write(«» Исключение-3″»); } }

Пользователь собирается запустить программу и ввести cont и exit. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • Исключение-1 Исключение-3
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) Исключение-1
  • Исключение-3
  • Исключение-1 Исключение-2

Программа предназначена для присвоения переменной t класса B значения 8 :

class A{ static public B b = null; public A() { B b = new B(); } public class B { static public int r; public int t;} }class Test{ public static void Main() { A a = new A(); ___________ }}

Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:

  • B.t = 8;
  • (Правильный ответ) A.b.t = 4;
  • a.B.t = 8;
  • a.b.t = 8;
  • A.B.t = 8;

Проанализируйте приведенный код.

struct Auto { public string марка; public Auto(string m) { марка = m; }}class Водитель{ private string фамилия; private Auto марка; public Водитель(string фам, Auto м) { фамилия = фам; марка = м; } public override string ToString() { return string.Format(«»{0} имеет {1}»»,фамилия, марка.марка) ; } }class Program{ static void Main(string[] args) { Водитель[] водители = new Водитель[2]; Auto auto1 = new Auto(«»Мерседес»»); Auto auto2 = new Auto(«»Тойота»»); auto2 = auto1; водители[0] = new Водитель(«»Иванов»», auto1); водители[1] = new Водитель(«»Петров»», auto2); System.Console.WriteLine(водители[1]);} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • Иванов имеет Мерседес
  • Петров имеет Форд
  • (Правильный ответ) Петров имеет Мерседес
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • программа завершится аварийно

Исходный модуль содержит определение типов Газета, Журнал и Program:

struct Газета{ public int Страницы; }struct Журнал{ public int Страницы; public override string ToString() { return Страницы.ToString(); }}

В классе Program определен метод Main, в теле которого находится код:

Газета a; Журнал b;a.Страницы=20; b.Страницы =30;System.Console.Write(a.ToString() + «» «» + b.ToString());

Укажите результат вывода на консоль после выполнения метода Main():

  • (Правильный ответ) Газета 30
  • при запуске программы фиксируется ошибка: в структуре невозможно переопределить метод ToString()
  • Газета Журнал
  • 20 Журнал
  • 50

Программа предназначена для вычисления и вывода квадрата числа 3:

public delegate double F( double x);class A { public int F(int x) { return x * x; } }class B { public static double F(double x) { return x * x; } }class Program{ static void Main() { F f = new F( _____ ); System.Console.WriteLine(f(3)); }}

Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить корректную программу, решающую эту задачу:

  • A.F
  • (Правильный ответ) B.F
  • new A().F
  • B.F()
  • new B().F

Исходный модуль содержит код:

class Room { private int nom1; public int nom2; public Room(int a, int b){ nom1 = a; nom2 = b; } public int Nom { get { return nom1 * 100 + nom2; } set { if (value<5555) {nom1 = value/100; nom2 = value%100; }} } } class Program { static void Main() { Room r = new Room(12,45); r.Nom = 4431; System.Console.Write(«»{0} «», r.Nom); } }

Укажите результат вывода на консоль после выполнения метода Main():

  • 1245
  • (Правильный ответ) 4431
  • 4445
  • 1231

Исходный модуль содержит определения:

interface IСмена { void Сменить(); }class Переключатель: IСмена{ bool s; public Переключатель(bool s){this.s = s;} public void Сменить() { s = !s; System.Console.Write(«» «» + s); }}class Счетчик : IСмена{ int s; public Счетчик(int s) { this.s = s; } public void Сменить() { s—; System.Console.Write(«» «» + s); }}

В этом же модуле определен класс Program c методом Main(), в котором содержится следующий код:

IСмена a = new Переключатель(true);IСмена b = new Счетчик(9),c;c = b; a.Сменить(); b.Сменить(); b = a; b.Сменить(); b = c; b.Сменить();

Укажите результат вывода на консоль после выполнения метода Main():

  • при запуске фиксируется синтаксическая ошибка, указывающая на несовместимость типов при объявлении переменных в методе Main()
  • False 8 7 6
  • 8 7 6 False
  • True 8 False 7
  • (Правильный ответ) False 8 True 7

Проанализируйте приведенный код.

struct Auto { public string марка; public Auto(string m) { марка = m; }}class Водитель{ private string фамилия; private Auto марка; public Водитель(string фам, Auto м) { фамилия = фам; марка = м; } public override string ToString() { return string.Format(«»{0}у нравится {1}»»,фамилия, марка.марка) ; } }class Program{ static void Main(string[] args) { Водитель[] водители = new Водитель[2]; Auto auto1 = new Auto(«»Мерседес»»); Auto auto2 = new Auto(«»Тойота»»); водители[0] = new Водитель(«»Иванов»», auto1); водители[1] = new Водитель(«»Петров»», auto2); auto2.марка = «»Форд»»; System.Console.WriteLine(водители[1]);} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • программа завершится аварийно
  • Петрову нравится Форд
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) Петрову нравится Тойота
  • Иванову нравится Мерседес

Исходный модуль содержит код:

class Сотрудник{ private int id; private float зарплата; public Сотрудник(int i, float z) { id = i; зарплата = z; } public float Зарплата(int номер) { return номер < id ? зарплата : -1; } public void Зарплата(int номер, ref float зарпл) { if (номер < id) { float зрпл = зарплата; зарплата = зарпл; зарпл = зрпл; } } }class Program{ static void Main() { Сотрудник Иванов = new Сотрудник(12, 40000.0f); float z = 45000.0f; Иванов.Зарплата(10, ref z); System.Console.Write(«»Зарплата Иванова = «» + z);} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) 40000
  • 45000
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • 20000
  • -1

Проанализируйте приведенный код.

delegate void MyEventHandler(ref int a); class MyEvent { public event MyEventHandler SomeEvent; public void OnSomeEvent(ref int d) { if (SomeEvent != null) SomeEvent(ref d); } }class EventTest{ static void Handler1(ref int b) { b = 2 * b; } static void Handler2(ref int c) { c = c + 12; Handler1(ref c);} public static void Main() { MyEvent evt = new MyEvent(); int a = int.Parse(System.Console.ReadLine()); if (a > 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler1); else if (a < 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler2); evt.OnSomeEvent(ref a); System.Console.WriteLine(a); } }

Пользователь собирается после запуска программы ввести цифру 0. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) 0
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • программа завершится аварийно
  • 24
  • 12

Программа предназначена для присвоения переменной r класса B значения 4 :

class A{ public B b = null; public A() { B b = new B(); } public class B { static public int r; public int t;} }class Test{ public static void Main() { A a = new A(); ___________ }}

Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:

  • B.r = 4;
  • a.B.r = 4;
  • A.b.r = 4;
  • (Правильный ответ) A.B.r = 4;
  • a.b.r = 4;

В классе Test определен приведенный ниже код:

public delegate int CallBackMethod(int a1, int a2); public static void Main() { int s = 0; s = CallMethod(new CallBackMethod(CBMethod)); System.Console.WriteLine(s); } public static int CallMethod(CallBackMethod cbMethod) { return cbMethod(11, 22); } public static int CBMethod(int a1, int a2) { return a1 + a2; }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • программа завершится аварийно
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) 33
  • Test.CallMethod
  • 0;

Приведенному ниже коду доступно пространство имен System.

class ExceptA : ApplicationException { } class ExceptB : ExceptA { } public static void Main() { string a = Console.ReadLine(); string b = Console.ReadLine(); try { if (a == «»end»») throw new ExceptA(); else if (b == «»exit»») throw new ExceptB(); else throw new Exception(); } catch (ExceptB) { Console.Write(«» Исключение-1″»); } catch (ExceptA) { Console.Write(«» Исключение-2″»); } catch (Exception){ Console.Write(«» Исключение-3″»); } }

Пользователь собирается после запуска программы ввести end и cont. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • Исключение-2 Исключение-3
  • Исключение-3
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) Исключение-2
  • Исключение-1 Исключение-2

Сборка Assembly2.cs, приведенная ниже:

class Test3{ static void Main() { ClassUser user = new ClassUser(); int count = user.count; System.Console.Write(«»count=»» + count); }}

ссылается на подключенную сборку Assembly1.cs, которая имеет следующий код:

internal class ClassUser{ public int count = 10; }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • count=0
  • программа не выполнится, так как сборка Assembly2.cs создает объект user, в то время как класс ClassUser не принадлежит сборке Assembly2.cs
  • count=10
  • (Правильный ответ) будет выдано сообщение об ошибке компиляции, так как класс ClassUser недоступен в соответствии с его модификатором доступа

Исходный модуль содержит код классов ЧЕЛОВЕК,СОТРУДНИК и Program:

class ЧЕЛОВЕК { string фамилия; public ЧЕЛОВЕК(string фамилия) {this.фамилия = фамилия;} public string ФАМ { get {return фамилия; } } } class СОТРУДНИК:ЧЕЛОВЕК { string должность; public СОТРУДНИК(string фамилия, string должность):base(фамилия) { this.должность = должность; } public string ДОЛ() { return должность; } }

В классе Program определен метод Main, в теле которого находится код:

СОТРУДНИК P = new СОТРУДНИК(«»Петров»»,»»Кассир»»); System.Console.Write(«»{0} {1}»», ______________ );

Требуется вывести фамилию и должность сотрудника. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:

  • P.ФАМ(), P.ДОЛ
  • P.фамилия, P.ДОЛ()
  • P.ФАМ, ((ЧЕЛОВЕК)P).ДОЛ()
  • (Правильный ответ) P.ФАМ, P.ДОЛ()

Проанализируйте приведенный код.

abstract class Rectangle{ public double x=10, y=20; public Rectangle(double x, double y) { this.x = x; this.y = y; } abstract public int Zoom(int d); public double Zoom(double d) { x += d; y += d; return x * y; }}class Параллепипед : Rectangle{ public double z; public Параллепипед(double x, double y, double z) : base (x, y) { this.z = z; }}class Program { static void Main() { Параллепипед парал = new Параллепипед(6, 8, 10); парал.Zoom(-5); System.Console.Write(«»{0} {1} {2}»», парал.x, парал.y, парал.z);} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) будет обнаружена синтаксическая ошибка, связанная с тем, что класс Параллепипед не переопределяет абстрактный метод Zoom
  • 1 3 10
  • 1 3 5
  • 5 15 10
  • программа завершится аварийно

Приведенному ниже коду доступны пространства имен System и System.Collections.

public static void Main() { ArrayList al = new ArrayList(); al.Add(«»Иванов»»); al.Add(«»Петров»»); al.Add(3.1415f); al.Add(«»Ларин»»); foreach (string str in al) Console.Write(str + «» «»); }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • Иванов Петров Ларин
  • программа завершится аварийно в момент добавления в коллекцию числа вместо фамилии
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) программа завершится аварийно в цикле foreach
  • Иванов Петров 3,1415 Ларин

Проанализируйте приведенный ниже код.

class a{ static void Main() { int a = 0; try { a = Devide(a); } catch (System.SystemException) { System.Console.Write(«» Ошибка в данных! «»); goto M; } finally { System.Console.Write(«» Программа завершена!»»); } M: System.Console.WriteLine(«» a=»» + a); } static int Devide(int b) { if (b == 0) throw new System.FormatException(); else b = 100 / b; return b;} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) Ошибка в данных! Программа завершена! a=0
  • a=0
  • программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с тем, что из блока catch не допускается выход с помощью оператора goto
  • Ошибка в данных!
  • Ошибка в данных! Программа завершена!

Исходный модуль содержит код:

internal class Rectangle{ public double width, hight; public void Zoom(double d) { width += d; hight += d; } public int Rectangle(double width, double hight) { this.width = width; this.hight = hight; return width * hight;}}class Program{ static void Main() { Rectangle p = new Rectangle(10, 20); p.Zoom(-5); System.Console.Write(«»{0} {1}»», p.width, p.hight);} }

Метод Main разрабатывался для изменения размера прямоугольника.

Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:

  • тип значения, возвращаемого методом Rectangle, должен быть double
  • (Правильный ответ) конструктор не может возвращать значение
  • конструктор не может следовать за методами класса
  • метод Zoom должен вызываться как метод класса, а не метод объекта
  • статический метод Main не может обращаться к полям объекта

Исходный модуль содержит классы A, B и Program:

class A{ public virtual string F1(){ return «»1″»; } public virtual string F2(){ return «»2″»; } }class B:A{ public new string F1() { return «»3″»; } public override string F2() { return «»4″»; } }

В классе Program определен метод Main, в теле которого находится код:

B p = new B();System.Console.Write(p.F1()+ p.F2());

Укажите результат вывода на консоль после выполнения метода Main():

  • 23
  • 13
  • 12
  • (Правильный ответ) 34
  • 14

Исходный модуль содержит указание используемых пространств имен System, System.Collections и определения классов:

System.Collections и определения классов:class A {public virtual void Show(){Console.Write(«»SOS! «»);}}class B:A {public new void Show(){Console.Write(«»ВСЕМ! «»);} }class C:A {public override void Show(){Console.Write(«»УРА! «»); } }

В классе Program определен метод Main, в теле которого находится код:

ArrayList a = new ArrayList();a.Add(new A()); a.Add(new B()); a.Add(new C());for (int i=0; i<a.Count; i++) if(a[i] is A) ((A)a[i]).Show();

Укажите результат вывода после запуска программы на компиляцию и выполнение:

  • (Правильный ответ) SOS! SOS! УРА!
  • SOS! ВСЕМ! УРА!
  • SOS! ВЕМ! SOS!
  • генерируется исключение, так как невозможно преобразовать типы ссылок
  • SOS! SOS! SOS!

Исходный модуль содержит определение типов Газета, Журнал и Program:

{ public int Страницы; public override string ToString() { return Страницы.ToString(); } }struct Журнал{ public int Страницы; }

В классе Program определен метод Main, в теле которого находится код:

Газета a; Журнал b;a.Страницы=20; b.Страницы =30;System.Console.Write(a.ToString() + «» «» + b.ToString());

Укажите результат вывода на консоль после выполнения метода Main():

  • (Правильный ответ) 20 Журнал
  • Газета 30
  • 20 30
  • 50
  • при запуске программы фиксируется ошибка: в структуре невозможно переопределить метод ToString()

Исходный модуль содержит код:

class Студент{ string фамилия; public string Фамилия { get { return фамилия; } } public Студент(string ф) { фамилия = ф; }}class Магистр : Студент{ int курс; public int Курс { get { return курс; } } public Магистр(string фам, int к) : base(фам) { this.курс = к; }} class Test { static void Main() { Студент Иванов = new Магистр(«»Петров»»,4); System.Console.Write(«»{0} {1}»», _______________ ); }}

Требуется вывести фамилию и номер курса студента в виде: Петров 4. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:

  • (Правильный ответ) Иванов.Фамилия, ((Магистр) Иванов).Курс
  • Петров.Фамилия, ((Магистр)Петров).Курс
  • Петров.Фамилия, (Магистр)Петров.Курс
  • Иванов.Фамилия, ((Студент)Петров).Курс
  • Петров.Фамилия, Петров.Курс

Проанализируйте приведенный код.

interface Интерфейс1 { string Метод(); }interface Интерфейс2 { string Свойство { get;} }class Класс1 : Интерфейс1{ public string Метод() { return «»Класс1: есть Интерфейс1 «»; } }class Класс2 : Класс1, Интерфейс2{ public string Метод() { return «»Класс2: есть Интерфейс1 «»; } public string Свойство { get { return «»Класс2: есть Интерфейс2 «»; } }}class Test{ static string GetValue(object ob) { string str = «»Найден интерфейс «»; if (ob is Интерфейс1) str = ((Интерфейс1)ob).Метод(); if (ob is Интерфейс2) { str += ((Интерфейс2)ob).Свойство; } return str; } public static void Main() { Интерфейс1 объект1 = new Класс2(); System.Console.WriteLine(GetValue(объект1));} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) Класс1: есть Интерфейс1 Класс2: есть Интерфейс2
  • Класс2: есть Интерфейс2.
  • Найден интерфейс
  • программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с тем, что посредством интерфейсной ссылки объект1 типа Интерфейс1 нельзя вызвать Свойство, определенное в Интерфейс2
  • Класс2: есть Интерфейс1. Класс2: есть Интерфейс2.

Проанализируйте приведенный код.

delegate void MyEventHandler(ref int a); class MyEvent { public event MyEventHandler SomeEvent; public void OnSomeEvent(ref int d) { if (SomeEvent != null) SomeEvent(ref d); } }class EventTest{ static void Handler1(ref int b) { b = 2 * b; } static void Handler2(ref int c) { c = c + 12; } public static void Main() { MyEvent evt = new MyEvent(); int a = int.Parse(System.Console.ReadLine()); if (a > 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler1); else if (a < 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler2); evt.OnSomeEvent(ref a); System.Console.WriteLine(a); } }

Пользователь собирается после запуска программы ввести цифру 5. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • 22
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) 10
  • 15
  • программа завершится аварийно

Исходный модуль содержит код:

class ЧЕЛОВЕК { class ПАСПОРТ {} class ДОЛЖНОСТЬ {} } class Program { static void Main() { ______ P; } }

В методе Main требуется объявить ссылку P на тип ДОЛЖНОСТЬ. Среди приведенных ниже вариантов ответов укажите истинный вариант:

  • вместо знаков подчеркивания укажите ЧЕЛОВЕК
  • вместо знаков подчеркивания укажите ДОЛЖНОСТЬ
  • вместо знаков подчеркивания укажите ЧЕЛОВЕК.ПАСПОРТ.ДОЛЖНОСТЬ
  • вместо знаков подчеркивания укажите ЧЕЛОВЕК.ДОЛЖНОСТЬ
  • (Правильный ответ) объявить требуемую ссылку в методе Main невозможно

Проанализируйте приведенный код.

interface Интерфейс1 { string Метод(); }interface Интерфейс2 { string Свойство {get;} }class Класс1 : Интерфейс1{ public string Метод() { return «»Есть Интерфейс1. «»; } }class Класс2 : Интерфейс1, Интерфейс2{ public string Метод() { return «»Есть Интерфейс1. «»; } public string Свойство { get { return «»Есть Интерфейс2. «»; } }}class Test{ static string GetValue(object ob) { string str = «»Найден интерфейс «»; Интерфейс1 I1 = ob as Интерфейс1; if (I1 != null) str = I1.Метод(); Интерфейс2 I2 = ob as Интерфейс2; if (I2 != null) { str += I2.Свойство; } return str; } public static void Main() { Класс2 объект2 = new Класс2(); System.Console.WriteLine( GetValue(объект2));} }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) Есть Интерфейс1. Есть Интерфейс2.
  • <s