Java 定义Shape(形状)类,包含:计算面积的抽象方法getArea(); 定义Rectangle(矩形)类,继承Shape类,实现getArea()方法;定义Circle(圆)类,继承Sha

水文

主要: 抽象类和抽象方法的实现

作业内容要求:

1、定义Shape(形状)类,包含:计算面积的抽象方法getArea();

2、定义Rectangle(矩形)类,继承Shape类,实现getArea()方法;

3、定义Circle(圆)类,继承Shape类,实现getArea()方法;

4、编写测试类,创建Rectangle和Circle对象,并调用getArea方法计算面积并输出。

可能的Java代码:

import java.util.*;
//抽象类
abstract class Shape 
{
   public abstract Double calculateShape();
}
//Rectangle类
 class Rectangle extends  Shape
 {
    private double length;
    private double width;    
   public Rectangle(double length, double width)
   {
       this.length = length;
       this.width = width;
   }
   public double getLength() 
   {
       return length;
   }public void setLength(double length) 
   {
       this.length = length;
   }
   public double getWidth() 
   {
       return width;
   }public void setWidth(double width)
   {
       this.width = width;
   }
   //继承Shape类,实现getArea()方法
   public Double getArea() 
   {
       return width*length;
   }
}
// Circle类
class Circle extends Shape
{
   private double radius;
  
     public Circle(double radius) 
     {
         this.radius = radius;
     }
     public double getRadius()
     {
         return radius;
     }
     public void setR(double radius) 
     {
         this.radius = radius;
     }
     //继承Shape类,实现getArea()方法
     public Double getArea() 
     {
         return Math.PI*radius*radius;
     }	
 }

 class Main {
     public static void main(String[] args) {
    	 Scanner sc=new Scanner(System.in);
    	 
    	 double radius=sc.nextDouble();
         Circle circle=new Circle(radius);
         System.out.println("半径为:"+circle.getRadius()+"的圆面积为:"+circle.getArea());
         
         double width=sc.nextDouble();
         double length=sc.nextDouble();
         Rectangle rectangle=new Rectangle(width,length);
         
         System.out.println("长为:"+rectangle.getLength()+"宽为:"+rectangle.getArea()+"的长方形面积为:"+rectangle.calculateShape());       
     }
 }

样例运行结果:
在这里插入图片描述

END

  • 34
    点赞
  • 205
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您可以这样实现: ```java // 定义一个抽象Shape abstract class Shape { // 声明一个抽象方法getArea() public abstract double getArea(); } // Circle继承Shape class Circle extends Shape { private double radius; // 的半径 public Circle(double radius) { this.radius = radius; } // 实现抽象方法getArea() public double getArea() { return Math.PI * radius * radius; } } // Rectangle继承Shape class Rectangle extends Shape { private double width; // 矩形的宽 private double height; // 矩形的高 public Rectangle(double width, double height) { this.width = width; this.height = height; } // 实现抽象方法getArea() public double getArea() { return width * height; } } public class Main { public static void main(String[] args) { // 创建一个Circle对象计算面积 Circle circle = new Circle(5); System.out.println("Circle面积为:" + circle.getArea()); // 创建一个Rectangle对象计算面积 Rectangle rectangle = new Rectangle(3, 4); System.out.println("Rectangle面积为:" + rectangle.getArea()); } } ``` 输出结果为: ``` Circle面积为:78.53981633974483 Rectangle面积为:12.0 ``` 在上面的例子中,我们定义了一个抽象 `Shape`,其中声明了一个抽象方法 `getArea()`,该方法用于计算图形的面积。然后,我们定义了两个子 `Circle` 和 `Rectangle`,它们分别继承自 `Shape` ,并实现了 `getArea()` 方法,用于计算矩形面积。最后,在 `main()` 方法中,我们创建了一个 `Circle` 对象和一个 `Rectangle` 对象,并分别调用它们的 `getArea()` 方法计算它们的面积

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

美迪的麦柯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值