思路:
/* 图形的面积与周长计算程序 计算不同图形的周长和面积。几何图形都有周长和面积,也有相应的计算公式 1.定义Shape作为抽象类,并在类中定义抽象方法求周长和面积 2.定义子类Circle,具有半径属性和常量PI,实现父类的抽象方法。 3.定义子类Rectangle,具有长和宽的属性,实现父类的抽象方法。 4.创建图形面积及周长计算器(ShapeCalculate),具有计算不同图形面积和周长的方法。 5.创建测试类,对ShapeCalculate计算周长和面积方法进行测试。 */
代码:
代码结构;
测试类:
package base.base011;
/*
图形的面积与周长计算程序
计算不同图形的周长和面积。几何图形都有周长和面积,也有相应的计算公式
1.定义Shape作为抽象类,并在类中定义抽象方法求周长和面积
2.定义子类Circle,具有半径属性和常量PI,实现父类的抽象方法。
3.定义子类Rectangle,具有长和宽的属性,实现父类的抽象方法。
4.创建图形面积及周长计算器(ShapeCalculate),具有计算不同图形面积和周长的方法。
5.创建测试类,对ShapeCalculate计算周长和面积方法进行测试。
*/
public class Tset11 {
public static void main(String[] args) {
ShapeCalculate sc = new ShapeCalculate();
Circle c1 = new Circle(5);
c1.getArea();
c1.getPerimeter();
System.out.println("圆形面积:");
sc.calArea(c1);
System.out.println("圆形周长:");
sc.calPerimeter(c1);
Rectangle r1 = new Rectangle(4,6);
r1.getArea();
r1.getPerimeter();
System.out.println("长方形面积:");
sc.calArea(r1);
System.out.println("长方形周长:");
sc.calPerimeter(r1);
}
}
Circle类:
package base.base011;
/*
2.定义子类circle,具有半径属性和常量PI,实现父类的抽象方法。
*/
public class Circle extends Shape {
private double radius;
private final double PI = 3.14;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return radius*radius*PI;
}
@Override
public double getPerimeter() {
return 2*PI*radius;
}
}
Rectangle类:
package base.base011;
/*
3.定义子类Rectangle,具有长和宽的属性,实现父类的抽象方法。
*/
public class Rectangle extends Shape{
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double getArea() {
return length*width;
}
@Override
public double getPerimeter() {
return (length+width)*2;
}
}
Shape类:
package base.base011;
/*
1.定义Shape作为抽象类,并在类中定义抽象方法求周长和面积
*/
public abstract class Shape {
public abstract double getArea();
public abstract double getPerimeter();
}
ShapeCalculate类:
package base.base011;
/*
4.创建图形面积及周长计算器(ShapeCalculate),具有计算不同图形面积和周长的方法。
*/
public class ShapeCalculate {
public void calArea(Shape shape){
System.out.println(shape.getArea());
}
public void calPerimeter(Shape shape){
System.out.println(shape.getPerimeter());
}
}