package jihe;
interface Shape {
final float PI = 3.14f;
abstract void area();
abstract void perimeter();
}
class bian {
double width;
double length;
double radius;
double S;
double C;
public bian(double width, double length, double radius) {
this.width = width;
this.length = length;
this.radius = radius;
}
}
class Rectangle extends bian implements Shape {
public Rectangle(double width, double length, double radius) {
super(width, length, radius);
}
public void area() {
S = width * length;
System.out.println("矩形面积:" + S);
}
public void perimeter() {
C = (width + length) * 2;
System.out.println("矩形周长:" + C);
}
}
class Circle extends bian implements Shape {
public Circle(double width, double length, double radius) {
super(width, length, radius);
}
public void area() {
S = PI * radius * radius;
System.out.println("圆形面积:" + S);
}
public void perimeter() {
C = 2 * PI * radius;
System.out.println("圆形周长:" + C);
}
}
class Square extends bian implements Shape {
public Square(double width, double length, double radius) {
super(width, length, radius);
}
public void area() {
S = width * width;
System.out.println("正方形面积:" + S);
}
public void perimeter() {
C = (width + width) * 2;
System.out.println("正方形周长:" + C);
}
}
public class jiekoutuxing {
public static void main(String[] args) {
Shape p1;
p1 = new Rectangle(4.0, 5.0, 0);
p1.area();
p1.perimeter();
p1 = new Circle(0, 0, 2.0);
p1.area();
p1.perimeter();
p1 = new Square(3.0, 0, 0);
p1.area();
p1.perimeter();
}
}