Правило заменяемости - C#

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

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

    class Program
    {
        class Parent
        {
            public int bas;
 
            public void Print()
            {
                Console.WriteLine("Base");
            }
        }
 
        class Children : Parent
        {
            public int Chil;
 
            public void Print()
            {
                Console.WriteLine("Children");
            }
        }
 
        static void Main(string[] args)
        {
            Parent x = new Children();
            x.Print(); //Почему метод выполняется из класса "Parent"?          
            Console.WriteLine(x.GetType().Name); //Хотя тут выводится "Children"
            Console.WriteLine(x.GetType().GetFields().Count()); //Тут выводится "2", а по факту обратиться можно только к полю Base
            Console.ReadKey();
        }
        
    }

Решение задачи: «Правило заменяемости»

textual
Листинг программы
...
        class Parent
        {
            public int bas;
 
            public virtual void Print()
            {
                Console.WriteLine("Base");
            }
        }
 
        class Children : Parent
        {
            public int Chil;
 
            public override void Print()
            {
                Console.WriteLine("Children");
            }
        }
...

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


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

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

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