Promenljive a, b, c, d sve sadrze referencu na isti objekat klase D. Zar ne bi onda trebalo da se u sva cetiri slucaja pozove metoda Ispis() objekta D, na ekranu ispise DDDD, bez obzira na override. Umesto toga ispisuje se DDBB. Jel moze ovo neko da rastumaci za mene?
Tnx.
Tnx.
Code:
public class A
{
public virtual void Ispis() { Console.Write("A"); }
}
public class B : A
{
public override void Ispis() { Console.Write("B"); }
}
public class C : B
{
new public virtual void Ispis() { Console.Write("C"); }
}
public class D : C
{
public override void Ispis() { Console.Write("D"); }
}
static void Main(string[] args)
{
D d = new D();
C c = d;
B b = c;
A a = b;
d.Ispis();
c.Ispis();
b.Ispis();
a.Ispis();
Console.ReadKey();
}
public class A
{
public virtual void Ispis() { Console.Write("A"); }
}
public class B : A
{
public override void Ispis() { Console.Write("B"); }
}
public class C : B
{
new public virtual void Ispis() { Console.Write("C"); }
}
public class D : C
{
public override void Ispis() { Console.Write("D"); }
}
static void Main(string[] args)
{
D d = new D();
C c = d;
B b = c;
A a = b;
d.Ispis();
c.Ispis();
b.Ispis();
a.Ispis();
Console.ReadKey();
}