package Shape;
public interface Shape {//接口创建
double lenth();
double area();
}
public class Trangle implements Shape {//三角形
double a,b,c;//定义属性 成员变量
public Trangle(double x, double y, double z) {//定义结构方法
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double area() {
double p=(a+b+c)/2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
}
@Override
public double lenth() {
return a+b+c;
}
}
public class Rectangle implements Shape
{double h,w;
public Rectangle(double h,double w){
this.h= h;
this.w= w;
}
@Override
public double lenth() {
return 2*(h+w);
}
@Override
public double area() {
return h*w;
}
}
public class Circle implements Shape
{
double r;
public Circle(double r){
this.r = r;
}
@Override
public double lenth() {
return 2*Math.PI*r;
}
@Override
public double area() {
return Math.PI*r*r;
}
}
public class Main
{
public static void main(String[] args)
{
Shape shape=new Trangle(3,4,5);
System.out.println(shape.area());
System.out.println(shape.lenth());
Shape shape1=new Circle(1);
System.out.println(shape1.area());
System.out.println(shape1.lenth());
Shape shape2=new Rectangle(1,2);
System.out.println(shape2.area());
System.out.println(shape2.lenth());
}
}