Как работается механизм переопределения методов в наследниках? - C#
Формулировка задачи:
Добрый день! Помогите разобраться.
Объясните пожалуйста, почему в консоли выведет именно ААА? Как работает механизм переопределения методов в наследниках? И как воспринимать то, что ссылка А может ссылаться на объект В?
Листинг программы
- using System;
- namespace Test
- {
- class Program
- {
- static void Main(string[] args)
- {
- A a = new A();
- A b = new B();
- A c = new C();
- a.Print();
- b.Print();
- c.Print();
- }
- }
- class A
- {
- public virtual void Print() { Console.WriteLine("A"); }
- }
- class B:A
- {
- public new virtual void Print() { Console.WriteLine("B"); }
- }
- class C:B
- {
- public override void Print() { Console.WriteLine("C"); }
- }
- }
Решение задачи: «Как работается механизм переопределения методов в наследниках?»
textual
Листинг программы
- A b = new B();
- b.Print();
- (b as B).Print();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д