Наследование метода - C#
Формулировка задачи:
Приветствую, формучане.
Вообщем, имеется класс.
От него наследуется другой, в котором переопределяется first_method():
И я вызываю метод other_method () экземпляра класса B, который унаследовал этот метод:
Метод other_method() вызывается правильно, но тот, который еще в нем (first_method()) вызывается не переопределенный, а базовый. Так должно быть? И если да, то как это исправить? Неужели мне придется переопределять еще и other_method() в классе В?
Class A
{
protected first_method ()
{
}
other_method()
{
first_method()
}
}Class B : A
{
first_method()
{
}
}Class Main
{
B obj = new obj;
obj.other_method();
}Решение задачи: «Наследование метода»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication80
{
class Program
{
static void Main(string[] args)
{
B obj = new B();
obj.other_method();
Console.Read();
}
}
class A
{
protected virtual void first_method()
{
Console.WriteLine("HOLY");
}
public void other_method()
{
first_method();
}
}
class B : A
{
protected override void first_method()
{
Console.WriteLine("SHIT");
}
}
}