- Java高级程序设计实战教程
- 戴远泉 李超 秦争艳
- 402字
- 2025-02-23 22:28:11
1.8 上机实训
本例计算几何图形的面积、周长,创建抽象类Shape,圆类Circle、矩形类Rectangle继承抽象类Shape。测试类TestShape完成各种图形的测试及其方法调用,计算其面积和周长。类图如图1-4所示。

图1-4 图形类图
实现代码如下所示。
package com.daiinfo.seniorjava.ken1.training; public abstract class Shape { / ** * 获得图形的名称 * @return 返回图形的名称 * / public String getName() { return this.getClass().getSimpleName(); } / ** * 获得图形的面积 * @return 返回图形的面积 * / public abstract double getArea(); / ** * 获得图形的周长 * @return 返回图形的周长 * / public abstract double getGirth(); }
package com.daiinfo.seniorjava.ken1.training; public class Circle extends Shape { private double radius; / ** * 构造函数 构造一个圆 * @param radius为圆的半径 * / public Circle(double radius) { } / ** * 计算圆的面积 * @return 返回圆的面积 * / @Override public double getArea() { return Math.PI * Math.pow(radius, 2); } / ** * 计算圆的周长 * @return 返回圆的周长 * / @Override public double getGirth() { // TODO Auto-generated method stub } }
package com.daiinfo.seniorjava.ken1.training; public class Rectangle extends Shape { private double length; private double width; / ** * 构造函数 构造一个矩形 * @param length * @param width * / public Rectangle(double length, double width) {//获得矩形的长和宽 } / ** * 获得矩形的面积 * / @Override public double getArea() {//计算矩形的面积 // TODO Auto-generated method stub } / ** * 获得矩形的周长 * / @Override public double getGirth() { // TODO Auto-generated method stub } }
package com.daiinfo.seniorjava.ken1.training; public class TestShape { public static void main(String[] args) { // TODO Auto-generated method stub } }