Наследование - C# (204543)

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            B b = new B();
            b.f();
            Console.ReadLine();
        }
    }
     class A 
    {
        public void f() 
        {
            Console.WriteLine("A");
        }
    }
    class B:A 
    {
        public void f()
        {
            Console.WriteLine("B");
        } 
    }
}
Почему этот код работает разве компилятор не должен просить чтобы я употребил словечки new или override?

Код к задаче: «Наследование - C# (204543)»

textual
    class A
    {
        virtual public void f()
        {
            Console.WriteLine("A");
        }
 
    }
    class B : A
    {
        public override void f()
        {
            Console.WriteLine("B");
        }
    }

11   голосов, оценка 4.455 из 5


СОХРАНИТЬ ССЫЛКУ