Правило заменяемости - 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"); } } ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д