用Java 定义一个抽象类 Shape,它包含两个抽象方法:计算面积的mianJi()方法,计算周长 的 zhouChang()方法,从Shape 类派生出圆形Circle类和矩形 Rect类,分别使用构造函 数初始化Circle 类的半径 r和Rect 类的长a宽 b,这两个类都使用mianJi()方法计算面 积,用zhouChang()方法计算周长。编写程序计算半径为10cm的圆形面积和长为10cm宽 为6cm的矩形周长。
时间: 2024-02-21 15:59:52 浏览: 97
好的,这是一个经典的面向对象编程问题,我可以帮你用Java语言实现。以下是代码实现:
```java
abstract class Shape {
public abstract double mianJi();
public abstract double zhouChang();
}
class Circle extends Shape {
private double r;
public Circle(double r) {
this.r = r;
}
public double mianJi() {
return 3.14 * r * r;
}
public double zhouChang() {
return 2 * 3.14 * r;
}
}
class Rect extends Shape {
private double a;
private double b;
public Rect(double a, double b) {
this.a = a;
this.b = b;
}
public double mianJi() {
return a * b;
}
public double zhouChang() {
return 2 * (a + b);
}
}
public class Main {
public static void main(String[] args) {
double r = 10;
Circle c = new Circle(r);
System.out.printf("半径为%.1fcm的圆形面积为%.1fcm²\n", r, c.mianJi());
double a = 10;
double b = 6;
Rect rect = new Rect(a, b);
System.out.printf("长为%.1fcm宽为%.1fcm的矩形周长为%.1fcm\n", a, b, rect.zhouChang());
}
}
```
输出结果:
```
半径为10.0cm的圆形面积为314.0cm²
长为10.0cm宽为6.0cm的矩形周长为32.0cm
```
注意:Java语言中需要在抽象类的方法前面加上 `abstract` 关键字,并且实现这些抽象方法的类必须重写这些方法。
阅读全文