Interface Inheritance C# with Example



Interface Inheritance C# with Example

 using System;

namespace CSharpInterface
{
	interface IShape
	{
		double Area();
	}
	
	interface IDisplay
	{
		void Display();
	}
	
	interface IShapeDisplay : IShape, IDisplay{}
	
    class Shape
    {
        public double dim1, dim2;

        public Shape(double dimension1, double dimension2)
        {
            dim1 = dimension1;
            dim2 = dimension2;
        }
    }
	
    class Rectangle : Shape, IShapeDisplay
    {
        public Rectangle(double dimension1, double dimension2) : base(dimension1, dimension2) { }

        public double Area()
        {
            return dim1 * dim2;
        }
		
		public void Display()
		{
			Console.WriteLine("Area of Rectangle : " + Area());
		}
    }

    class Triangle : Shape, IShapeDisplay
    {
        public Triangle(double dimension1, double dimension2) : base(dimension1, dimension2) { }

        public double Area()
        {
            return dim1 * dim2 / 2;
        }
		
		public void Display()
		{
			Console.WriteLine("Area of Triangle : " + Area());
		}
    }

    class MultipleInterfaceImplementation
    {
        public static void Main(string[] args)
        {
            Rectangle newRectangle = new Rectangle(6, 7);
            Triangle newTriangle = new Triangle(12, 23);
			
			IShapeDisplay referenceVariable;
			
			referenceVariable = newRectangle as IShapeDisplay;
            if(referenceVariable != null)
				referenceVariable.Display();
			
            referenceVariable = newTriangle as IShapeDisplay;
			if(referenceVariable != null)
				referenceVariable.Display();
        }
    }
}
 

0 Comment's

Comment Form

Submit Comment