======
#объявление методов в интерфейсе не может иметь модификаторов доступности
======
класс Человек не полностью реализует интерфейс
======
интерфейс IЧеловек недоступен для реализации в классе Человек
======
для обращения к методам Имя() и Фамилия() необходимо создать объект типа IЧеловек
++++++
Исходный модуль содержит код:
interface IЧеловек
{ string Фамилия(); string Должность(); }
class Человек { public string фамилия; }
class Сотрудник : IЧеловек,Человек
{
public string должность;
public string Фамилия() {return фамилия;}
public string Должность() { return должность; }
}
class Program
{
static void Main()
{
Сотрудник с = new Сотрудник();
с.фамилия = "Иванов"; с.должность = "Инженер";
System.Console.Write(с.Фамилия()+с.Должность());
}
}
Метод Main разрабатывался для вывода фамилии и должности сотрудника.
Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
======
класс Человек не может иметь открытых полей
======
класс Сотрудник не может иметь открытых полей
======
объявление метода Фамилия() в интерфейсе должно содержать модификатор public
======
#в определении класса Сотрудник имя базового класса должно предшествовать имени реализуемого интерфейса
++++++
Проанализируйте приведенный код.
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.Метод());
} }
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
======
Значение1=50 Значение2=50
Do'stlaringiz bilan baham: |