package areaAndPerimeter;
public class InheritanceWithPolymorphismDemo4
{
public static void main(String[] args)
{
Measurable4 measurable = new Rectangle4(10, 10);
measurable.getArea();
measurable.getPerimeter();
System.out.println("Using measurable interface reference the area and parimeter is:\n "
+measurable.getArea()+" and "+ measurable.getPerimeter()+" \n ");
Measurable4 measurable3 = new Circle4(10);
measurable3.getArea();
measurable3.getPerimeter();
System.out.println("Using measurable interface reference the area and parimeter is:\n "
+measurable3.getArea()+" and "+ measurable3.getPerimeter()+"\n");
getTotalArea(measurable, measurable3);
}
public static void getTotalArea(Measurable4 m1 , Measurable4 m2)
{
System.out.println("The total area of the two object is: " + (m1.getArea()+m2.getArea()));
}
}
-------------------------------------------------
interface Measurable4
{
double PI = 3.1428;
public double getArea();
public double getPerimeter();
}
----------------------------------------------------
class Rectangle4 implements Measurable4
{
double length , breadth ;
public Rectangle4(double length , double breadth)
{
this.length = length;
this.breadth = breadth;
}
@Override
public double getArea()
{
return length * breadth;
}
@Override
public double getPerimeter()
{
return 2 * length * breadth ;
}
}
----------------------------------------------------------
class Circle4 implements Measurable4
{
double radius;
public Circle4(double radius)
{
this.radius = radius;
}
@Override
public double getArea()
{
return PI * radius * radius;
}
@Override
public double getPerimeter()
{
return 2 * PI * radius ;
}
}
--------------------------------------------------------------







