第2题答案,请老师点评,谢谢

来源:12-12 测评作业

慕码人5147775

2025-02-24

四个类代码如下:
几何图形类Geometry:

package com.imooc.test02.test02;

public abstract class Geometry {
    private double area; // 面积
    private double perimeter; // 周长

    public Geometry(double area, double perimeter) {
        this.area = area;
        this.perimeter = perimeter;
    }
    public Geometry() {
    }
    public double getArea() {
        return area;
    }

    public void setArea(double area) {
        this.area = area;
    }

    public double getPerimeter() {
        return perimeter;
    }
    public void setPerimeter(double perimeter) {
        this.perimeter = perimeter;
    }
    public abstract void Area();// 抽象方法,计算面积
    public abstract void Perimeter(); // 抽象方法,计算周长
}

圆类Circular:

package com.imooc.test02.test02;

public class Circular extends Geometry{
    private double radius;

    public Circular(double radius) {
        this.radius = radius;
    }

    public Circular() {
    }

    @Override
    public void Area() { // 重写父类的方法,计算圆的面积
        double area = Math.PI * radius * radius;
        setArea(area);
        System.out.println("圆的面积为:" + getArea());
    }

    @Override
    public void Perimeter() { // 重写父类的方法,计算圆的周长
        double perimeter = 2 * Math.PI * radius;
        setPerimeter(perimeter);
        System.out.println("圆的周长为:" + getPerimeter());
    }
}

矩形Rectangle:

package com.imooc.test02.test02;

public class Rectangle extends Geometry{
    private double length; // 矩形的长
    private double width; // 矩形的宽

    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }
    public Rectangle() {
    }

    @Override
    public void Area() { // 重写父类的方法,计算矩形的面积
        double area = length * width;
        setArea(area);
        System.out.println("矩形的面积是:" + getArea());
    }

    @Override
    public void Perimeter() { // 重写父类的方法,计算矩形的周长
        double perimeter = (length + width) * 2;
        setPerimeter(perimeter);
        System.out.println("矩形的周长是:" + getPerimeter());
    }
}

测试类GeometryTest:

package com.imooc.test02.test02;
/*
每个几何图形,都有面积和周长属性,而计算面积和周长的方法却各不相同。
要求:使用抽象方法计算面积和周长,最终实现圆形和矩形面积以及周长的计算。
* */
public class GeometryTest {
    public static void main(String[] args) {
        Circular c = new Circular(5); // 实例化圆,半径为5
        c.Area(); // 圆的面积为:78.53981633974483
        c.Perimeter(); // 圆的周长为:31.41592653589793
        Rectangle r = new Rectangle(5, 10); // 实例化矩形,长为5,宽为10
        r.Area();
        r.Perimeter();
    }
}
写回答

1回答

彭彭老师

2025-02-24

功能实现没问题,重写的方法中,可以调用父类的方法,也可以直接输出计算的结果

https://img1.sycdn.imooc.com/szimg/3e32926709bbee4110960755.jpg

0
0

Java零基础入门与实战

Java零基础入门与实战 多场景|多案例|全栈项目

277 学习 · 220 问题

查看课程