要求:程序能够计算并输出正方形和圆形的面积和周长。
* 以面向对象的程序设计方法编写程序,应当至少包括3个类,正方形类,圆形类和测试类(主控程序类)。
* 为了考虑程序的未来扩展,要求先定义这几种图形共同的父接口Shape(Shape表示图形),在Shape中定义计算面积和周长的方法。
interface Shape{
public abstract double getPerimeter();
public abstract double getArea();
}
class Square implements Shape{
public double sidelength;
public Square(double sidelength) {
this.sidelength=sidelength;
}
public double getPerimeter() {
return 4*sidelength;
}
public double getArea() {
return sidelength*sidelength;
}
}
class Circle implements Shape{
public double radius;
public Circle(double radius) {
this.radius=radius;
}
public double getPerimeter() {
return 3.14*2*radius;
}
public double getArea() {
return 3.14*radius*radius;
}
}
class Rectangle implements Shape{
public double width;
public double height;
public Rectangle(double width,double height) {
this.width=width;
this.height=height;
}
public double getPerimeter() {
return 2*(width+height);
}
public double getArea() {
return width*height;
}
}
public class ShapeDemo {
public static void main(String args[]) {
Square s = new Square(2);
Circle c = new Circle(3);
Rectangle r = new Rectangle(4,5);
System.out.println("正方形的周长是:"+s.getPerimeter());
System.out.println("正方形的面积是:"+s.getArea());
System.out.println("圆形的周长是:"+c.getPerimeter());
System.out.println("圆形的面积是:"+s.getArea());
System.out.println("矩形的周长是:"+r.getPerimeter());
System.out.println("矩形的面积是:"+s.getArea());
}
}