Friday, August 23, 2019

specialization of methods in java

abstract class Shape
{
abstract public void area();
}
class Circle extends Shape
{
final static double pi=3.14;
int r;
public Circle(int r)
{
this.r=r;
}
public void area()
{
System.out.println(pi*r*r);
}
public static void printArea(Circle c1)
{
c1.area();
}
}
class Rectangle extends Shape
{
int l;
int b;
public Rectangle(int l,int b)
{
this.l=l;
this.b=b;
}
public void area()
{
System.out.println(l*b);
}
public static void printArea(Rectangle r1)
{
r1.area();
}
}
class Triangle extends Shape
{
int b,h;
public Triangle(int b,int h)
{
this.b=b;
this.h=h;
}
public void area()
{
System.out.println(0.5*b*h);
}
public static void printArea(Triangle t1)
{
t1.area();
}
}
public class Specialization
{
public static void main (String [] args)
{
Circle.printArea(new Circle(2));
Circle.printArea(new Circle(7));
Rectangle.printArea(new Rectangle(2,3));
Rectangle.printArea(new Rectangle(5,7));
Triangle.printArea(new Triangle(3,4));
Triangle.printArea(new Triangle(7,9));
}
   
}

No comments:

Post a Comment