Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как из метода производного класса вызвать поле родительского класса

1.9K
30 марта 2018 года
alexandrv
39 / / 21.01.2010
Добрый день! Помогите пожалуйста вызвать поле базового класса из метода производного класса. Код, составленный мною выводит результат неправильно, несмотря на обращение к полю базового класса base.Name:
Я — предок!
Я — Петров Николай Иванович

Я — отец!
Я — Петров Сергей Николаевич
Я — сын Петров Сергей Николаевича

а должен выводить

Я — предок!
Я — Петров Николай Иванович

Я — отец!
Я — Петров Сергей Николаевич
Я — сын Петров Николай Ивановича

Код:
namespace Predoc
{ class tPredoc
    {
        public string Name;
        public tPredoc(string Name) { this.Name = Name; }
        public virtual void Declaration() { Console.WriteLine("Я - предок!"); }
        public virtual void MyName() { Console.WriteLine($"Я - {Name}"); }

    }
    class tSon : tPredoc
    {
        public tSon(string Name):base(Name) {  }
        public override void Declaration() { Console.WriteLine("Я - отец!"); }
        public override void MyName()
        {
            base.MyName();
            Console.WriteLine($"Я - сын {base.Name}а");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            tPredoc ded=new tPredoc("Петров Николай Иванович");
            tSon otec = new tSon("Петров Сергей Николаевич");
           
            ded.Declaration();
            ded.MyName();
            Console.WriteLine();

            otec.Declaration();
            otec.MyName();
           
            Console.ReadKey();


        }
    }
}
86K
31 марта 2018 года
Lori
17 / / 04.03.2018
интересный алгоритм
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог