题目
按题目要求定义出以下类并写出测试代码。
1).定义一个Shap 类,有一个方法getArea(), 获取图形的面积。
2).定义一个圆Cycle类 继承Shap ,有一个私有属性 r; 重写getArea()方法用于求圆的面积;
3).定义一个矩形Rectangle 类继承shap, 有两个私有属性,length, wide, 重写 getArea()方法求矩形的面积;
4)写一个测试类shapDemo,类里面有一个方法getShapArea(Shap shap) 用于获取任意图形的面积。在主函数里面测该方法打印出一个圆对象,或者一个矩形对象的面积。
代码
package com.stx.p5.liujinzhou; import java.awt.*; public class p5 { } //定义一个Shap类,里面包含一个方法getArea用来球图形面积,返回值为零,更好的让继承类函数重载方法 class Shap { public double getArea() { return 0; } } //继承Shap的Cycle类,里面用构造方法传值,然后将继承到的getArea方法重载 class Cycle extends Shap { double r; // Cycle类的构造器 public Cycle(double r) { this.r = r; } public double getArea() { return 3.14 * r * r; } } //继承Shap的Rectangle类,里面用构造方法传值,然后将继承到的getArea方法重载 class Rectangle extends Shap { double length; double wide; public Rectangle(double length, double wide){ this.length=length; this.wide=wide; } public double getArea() { return length * wide; } } //测试类ShapDemo class ShapDemo { // 测试方法,打印任意图形的面积 public static void getShapArea(Shap shap) { System.out.println("该图形的面积为: " + shap.getArea()); } // 主函数,演示如何使用测试类获取圆和矩形的面积 public static void main(String[] args) { // 创建一个圆对象并获取面积 Cycle cycle = new Cycle(5); // 假设半径为5 getShapArea(cycle);// 输出圆的面积 // 创建一个矩形对象并获取面积 Rectangle rectangle = new Rectangle(4,6); // 假设长为4,宽为6 getShapArea(rectangle);// 输出矩形的面积 } }
输出结果
这个图形的面积为:78.5 这个图形的面积为:24.0