Normal Inheritance
class A
{
public virtual string PrintVirtual()
{
return "A virtual Class";
}
}
class B:A
{
public virtual string PrintVirtual()
{
return "B virtual Class";
}
}
class C:B
{
public virtual string PrintVirtual()
{
return "C virtual Class";
}
}
A dc = new B();
Console.WriteLine(dc.PrintVirtual());
Output:
A virtual Class
A dc = new C();
Console.WriteLine(dc.PrintVirtual());
Output:
A virtual Class
B dc = new C();
Console.WriteLine(dc.PrintVirtual());
Output:
B virtual Class
Abstract Inheritance
abstract class A
{
public abstract string PrintVirtual();
}
class B:A
{
public override string PrintVirtual()
{
return "B abstract Class";
}
}
class C:B
{
public override string PrintVirtual()
{
return "C abstract Class";
}
}
A dc = new B();
Console.WriteLine(dc.PrintVirtual());
Output
B abstract Class
A dc = new C();
Console.WriteLine(dc.PrintVirtual());
Output
C abstract Class
class A
{
public virtual string PrintVirtual()
{
return "A virtual Class";
}
}
class B:A
{
public virtual string PrintVirtual()
{
return "B virtual Class";
}
}
class C:B
{
public virtual string PrintVirtual()
{
return "C virtual Class";
}
}
A dc = new B();
Console.WriteLine(dc.PrintVirtual());
Output:
A virtual Class
A dc = new C();
Console.WriteLine(dc.PrintVirtual());
Output:
A virtual Class
B dc = new C();
Console.WriteLine(dc.PrintVirtual());
Output:
B virtual Class
Abstract Inheritance
abstract class A
{
public abstract string PrintVirtual();
}
class B:A
{
public override string PrintVirtual()
{
return "B abstract Class";
}
}
class C:B
{
public override string PrintVirtual()
{
return "C abstract Class";
}
}
A dc = new B();
Console.WriteLine(dc.PrintVirtual());
Output
B abstract Class
A dc = new C();
Console.WriteLine(dc.PrintVirtual());
Output
C abstract Class
No comments:
Post a Comment