Полиморфизм: Почему в объекте нет свойства дочернего класса - C#
Формулировка задачи:
class A
{
public int a = 1;
public int c = 5;
virtual public void Fun()
{
a = a + c;
Console.Write(a);
}
}
class B : A
{
public int d = 3;
public override void Fun()
{
a = a + c + d;
Console.Write(a);
}
}
class Program
{
static void Main(string[] args)
{
A r = new B();
//r.a;
//r.c;
//r.d;//нет такого свойства
r.Fun();
}
}Решение задачи: «Полиморфизм: Почему в объекте нет свойства дочернего класса»
textual
Листинг программы
class A
{
public int a = 1;
public int c = 5;
virtual public void Fun()
{
a = a + c;
Console.Write(a);
}
}
class B : A
{
public int d = 3;
public B(int i)
{
this.d=i;
}
public override void Fun()
{
a = a + c + d;
Console.Write(a);
}
}
class Program
{
static void Main(string[] args)
{
A r = new B(5);
//r.a;
//r.c;
//r.d;//нет такого свойства
Console.Write(((B)r).d);
r.Fun();
}
}