You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.0 KiB
54 lines
1.0 KiB
abstract class Shape{
|
|
public abstract double getArea();
|
|
}
|
|
|
|
class Circle extends Shape{
|
|
private double radius;
|
|
public Circle(double radius){
|
|
this.radius = radius;
|
|
}
|
|
@Override
|
|
public double getArea(){
|
|
return Math.PI*radius*radius;
|
|
}
|
|
}
|
|
|
|
class Rectangle extends Shape{
|
|
private double length;
|
|
private double height;
|
|
public Rectangle(double length,double height){
|
|
this.length=length;
|
|
this.height=height;
|
|
}
|
|
@Override
|
|
public double getArea(){
|
|
return length*height;
|
|
}
|
|
}
|
|
|
|
class Triangle extends Shape{
|
|
private double base;
|
|
private double height;
|
|
public Triangle(double base,double height){
|
|
this.base=base;
|
|
this.height=height;
|
|
}
|
|
@Override
|
|
public double getArea(){
|
|
return base*height/2;
|
|
}
|
|
}
|
|
|
|
public class ShapeUtil{
|
|
public static void printArea(Shape shape){
|
|
System.out.printf("ĂćťýĘÇ%.2f%n",shape.getArea());
|
|
}
|
|
public static void main(String[] args){
|
|
Shape circle = new Circle(5.0);
|
|
Shape rectangle = new Rectangle(10.0,20.0);
|
|
Shape triangle = new Triangle(3.0,4.0);
|
|
printArea(circle);
|
|
printArea(rectangle);
|
|
printArea(triangle);
|
|
}
|
|
}
|