Вам необходимо ключевое слово override
для фактического переопределения метода, в противном случае вы его скрываете.
class der_class : base_class
{
// note the word override here!
public override int get_1()
{
return 2;
}
}
Кроме того, вам нужно сделать метод virtual
в базовом классе:
class base_class
{
string abc;
// note the word virtual here!
public virtual int get_1()
{
return 1;
}
public int get_number()
{
return get_1()+1;
}
}