Sunday, 23 February 2020

Inheritance

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

No comments:

Post a Comment