База ответов ИНТУИТ

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

<<- Назад к вопросам

Проанализируйте приведенный код.
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));}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

(Отметьте один правильный вариант ответа.)

Варианты ответа
Класс2: есть Интерфейс2.
Класс2: есть Интерфейс1. Класс2: есть Интерфейс2.(Верный ответ)
программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с тем, что посредством интерфейсной ссылки объект1 типа Интерфейс1 нельзя вызвать Свойство, определенное в Интерфейс2
Класс2: есть Интерфейс1.
Найден интерфейс
Похожие вопросы
Проанализируйте приведенный код.
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));}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
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));}   }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
interface Интерфейс  { int Метод(); }class Класс1 : Интерфейс{  int len;    public Класс1(int l) { len = l; }    public int Метод() { return len * len; }}class Класс2 : Класс1{  int w, h;    public Класс2(int w1, int h1) : base (w1) { w = w1; h = h1; }    new public int Метод() { return w * h; }}class Test{   public static void Main()    {  Класс2 объект1 = new Класс2(5, 10);        Интерфейс объект2 = объект1;        System.Console.WriteLine("Значение1={0} Значение2={1}",                                                объект1.Метод(), объект2.Метод());}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
interface Интерфейс { int Метод(); }class Класс1 : Интерфейс{  int len;    public Класс1(int l) { len = l; }    public int Метод() { return len * len; }}class Класс2 : Класс1, Интерфейс{  int w, h;    public Класс2(int w1, int h1) : base(w1) { w = w1; h = h1; }    public int Метод() { return w * h; }}class Test{   public static void Main()    {  Класс2 объект1 = new Класс2(5, 10);        Интерфейс объект2 = объект1;        System.Console.WriteLine("Значение1={0} Значение2={1}",                                                объект1.Метод(), объект2.Метод());}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
interface Интерфейс { string Метод(); }struct Структура : Интерфейс{  public Структура(string и, int к)   { имя = и; курс = к; }    public Структура()  { имя = "Нет имени"; курс = 0; }    public string имя;    public int курс;    public string Метод()    { return string.Format("Студент {0} учится на курсе {1}", имя, курс); }}class Test{   public static void Main()    {  Структура c1 = new Структура("Зайцев",1);        Структура c2 = new Структура();        c2 = c1;        System.Console.WriteLine(c2.Метод());}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
struct Структура{  public string имя = "Без имени";    static public int курс=1;    public Структура(string и) { имя=и; }    public string Метод()    { return string.Format("Студент {0} учится на курсе {1}", имя, курс); }}class Test{   public static void Main()    {  Структура c2 = new Структура();        Структура c1 = new Структура("Зайцев");   c2 = c1;        System.Console.WriteLine(c2.Метод());}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
struct Структура2{ public string имя;   public Структура2(string и) { имя = и; }}struct Структура : Структура2{  public int курс;    public Структура(string и, int к) : base (и)  { курс = к; }    public string Метод()    { return string.Format("Студент {0} учится на курсе {1}", имя, курс); }}class Test{   public static void Main()    {  Структура c2 = new Структура();        Структура c1 = new Структура("Зайцева",1);   c1 = c2;        System.Console.WriteLine(c1.Метод());}   }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
public enum Языки { СSarp, CPP, VB, Java }struct Структура{  public string Имя;    public Языки я;    public override string ToString()    {  return string.Format("Программист {0} программирует на {1}", Имя, я);  }}class Test{   public static void Main()    {        Структура c1;        Структура c2 = new Структура();        c1 = c2;        c1.Имя = "Иванов"; c1.я = Языки.VB;        System.Console.WriteLine(c2); }   }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
В классе Test определен приведенный ниже код:
    delegate string strMod(string str, char ch);    public static string ReplaceSpaces(string a) { return a.Replace(' ', '-'); }    public string ReplaceHyphens(string a, char b) { return a.Replace('-', b); }    public static void Main()    {        strMod strOp = new strMod(Test.ReplaceSpaces);        string str = strOp("очень простой тест ");         strOp = new strMod(new Test().ReplaceHyphens);        System.Console.WriteLine(strOp(str, '*'));    }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
public enum Языки { СSarp, CPP, VB, Java }struct Структура{  public string Имя;    public Языки я;    public override string ToString()    {  return string.Format("Программист {0} программирует на {1}", Имя, я);  }}class Test{   public static void Main()    {  Структура c1 = new Структура();        Структура c2 = new Структура();        c1.Имя = "Иванов"; c1.я = Языки.СSarp;        c2 = c1;  c1.Имя = "Петров"; c2.я = Языки.CPP;        System.Console.WriteLine(c2);}   }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение: