1 changed files with 54 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||||
|
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); |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue