Главная /
C#: ООП и классы /
Проанализируйте приведенный код. interface IФигура { int Периметр(); int Площадь(); } class Квадрат : IФигура { int длина; public Квадрат(int длина) { this.длина = длина;} public int Периметр() { return 4*длина; } int IФигура.Площадь() { return длина * дл
Проанализируйте приведенный код.
interface IФигура { int Периметр(); int Площадь(); }
class Квадрат : IФигура
{ int длина;
public Квадрат(int длина) { this.длина = длина;}
public int Периметр() { return 4*длина; }
int IФигура.Площадь() { return длина * длина; }
}
class Test
{ public static void Main()
{ IФигура фигура;
фигура = new Квадрат(10);
System.Console.WriteLine("Периметр={0} Площадь={1}",
фигура.Периметр(), фигура.Площадь());
} }
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
вопрос
Правильный ответ:
программа завершится аварийно
Периметр=40 Площадь=100
программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с тем, что для вызова методов
Периметр()
и Площадь()
необходимо ссылку фигура
привести к типу Квадрат
программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с тем, что ссылка
фигура
должна иметь тип Квадрат
программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с отсутствием модификатора
public
у метода Площадь()
Сложность вопроса
69
Сложность курса: C#: ООП и классы
79
Оценить вопрос
Комментарии:
Аноним
Зачёт прошёл. Лечу кутить отмечать 4 за тест интуит
01 дек 2020
Аноним
Если бы не данные подсказки - я бы не справился c этими тестами intuit.
24 авг 2017
Другие ответы на вопросы из темы программирование интуит.
- # Исходный модуль содержит код: internal class Point { public double x,y; public Point(double x, double y) { this.x = x; y = y; } public void Move(double d){ x+=d; y+=d;} } class Program { static void Main() { Point p = new Point(1,1); p.Move(1); System.Console.Write("{0} {1}", p.x, p.y); } } Метод Main разрабатывался для перемещения точки по обеим координатам на 1. При запуске программы выведены значения 2 1 вместо ожидаемых значений 2 2. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
- # Исходный модуль содержит код: class MyOut { int A,B=777; int View() { return A + B; } } class Program { static void Main() { MyOut mout = new MyOut(); System.Console.Write(mout.View()); } } Метод Main разрабатывался для получения суммы полей A и B объекта класса MyOut. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
- # Исходный модуль содержит код: 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():
- # Проанализируйте приведенный код. 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.Метод()); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
- # Исходный модуль содержит указание используемых пространств имен System, System.Collections и определения классов: System.Collections и определения классов: class A {public virtual void Show(){Console.Write("SOS! ");}} class B:A {public override void Show(){Console.Write("ВСЕМ! ");} } class C:A {public new 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(); Укажите результат вывода после запуска программы на компиляцию и выполнение: