Кто-нибудь может сказать, что работает над переопределением и скрытием с точки зрения памяти и ссылок.
class A
{
public virtual void Test1() { //Impl 1}
public virtual void Test2() { //Impl 2}
}
class B : A
{
public override void Test1() { //Impl 3}
public new void Test2() { Impl 4}
}
static Main()
{
A aa=new B() //This will give memory to B
aa.Test1(); //What happens in terms of memory when this executes
aa.Test2(); //-----------------------SAME------------------------
}
Здесь память имеет класс B, но во втором выражении будет вызываться метод класса aa.Test2. Почему это? Если B имеет память, тогда следует называть метод B (с моей точки зрения).
Любая ссылка/упражнение, которая описывает это фундаментальное очень глубоко и полностью, будет большой помощью.