Вызов абстрактного метода в конструкторе - C#

Узнай цену своей работы

Формулировка задачи:

Здравтвуйте, интересует такой вопрос: можно ли вызвать абстрактный метод в конструкторе абстрактного класса?

Решение задачи: «Вызов абстрактного метода в конструкторе»

textual
Листинг программы
    abstract class Foo
    {
        public Foo()
        {
            //вызов виртуального метода
            SayHello();
        }
 
        public abstract void SayHello();
    }
 
    class Boo : Foo
    {
        private string MyString;
 
        public Boo() : base()//вызов базового конструктора
        {
            //инициализация собственных полей
            MyString = "Hello from Boo";
        }
 
        public override void SayHello()
        {
            Console.WriteLine(MyString);//упс, а здесь будет исключение, ведь MyString еще не инициализирован
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы