第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
功能实现没问题,重写的方法中,可以调用父类的方法,也可以直接输出计算的结果
00
相似问题
第4题答案,请老师点评,谢谢
回答 1
第1,2题答案,请老师点评,谢谢
回答 1
4题答案,请老师点评,谢谢
回答 1
5题答案,请老师点评,谢谢
回答 1
第1题答案,请老师点评,谢谢。
回答 1