12 形状类 设计一个形状 Shape 类和它的两个实现类圆 Circle 和矩形 Rectangle ,并编写测试程序。按如下要求完成程序的编写: 1、添加一个类 Shape ,该类中编写一个方法 area ,方法无参数,返回值为 double 类型,默认返回0。 2、 Circle 类的编写:(1)添加一个类 Circle ,从 Shape 类继承;(2)定义一个 double 类型的字段 r ,代表圆的半径;(3)定义一个构造函数,该构造函数接受一个 double 类型的参数,并保存到字段 r 中; (4)覆写 area ()方法,并编写程序计算圆的面积。π取3.14。 3、 Rectangle 类的编写 (1)添加一个类 Rectangle ,从 Shape 类继承;(2)定义两个 double 类型的字段 width 和 height ,分别代表矩形的宽和高; (3)定义一个构造函数,该构造函数接受两个 double 类型的参数,并分别保存到字段 width 和 height 中; (4)覆写 area ()方法,并编写程序计算矩形的面积。 5、测试类的编写 main 方法中编写测试程序: (1)创建一个 Circle 类对象,半径为2,调用 Area 方法计算面积,并输出。 (2)创建一个 Rectangle 类对象,长3,宽5,调用 Area 方法计算面积,并输出。
时间: 2024-02-20 18:00:15 浏览: 62
c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle)
以下是代码实现:
```java
// Shape 类
class Shape {
public double area() {
return 0;
}
}
// Circle 类
class Circle extends Shape {
private double r;
public Circle(double r) {
this.r = r;
}
@Override
public double area() {
return 3.14 * r * r;
}
}
// Rectangle 类
class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double area() {
return width * height;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建 Circle 类对象并计算面积
Circle circle = new Circle(2);
System.out.println("圆的面积为:" + circle.area());
// 创建 Rectangle 类对象并计算面积
Rectangle rectangle = new Rectangle(3, 5);
System.out.println("矩形的面积为:" + rectangle.area());
}
}
```
输出结果为:
```
圆的面积为:12.56
矩形的面积为:15.0
```
阅读全文