2.用面向对象的思想设计以下程序: 1) 定义一个接口Area,其中包含一个计算面积的方法calsulateArea(); 2) 然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法calsulateArea(); 3) 分别写出两个类中的构造方法并计算圆和矩形的面积; 4) 在MyCircle类中增加方法public void setRadius(double r)改变圆的半径; 5) 最后写主测试类TestArea,定义public double useArea(Area a)方法通过运行时多态调用不同形状的calculateArea()方法,返回计算面积,并在主方法中分别输出圆和矩形的面积。
时间: 2023-06-27 15:08:01 浏览: 117
面向对象的设计方法
接口Area:
```java
public interface Area {
double calculateArea();
}
```
MyCircle类:
```java
public class MyCircle implements Area {
private double radius;
public MyCircle(double radius) {
this.radius = radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
@Override
public double calculateArea() {
return Math.PI * radius * radius;
}
}
```
MyRectangle类:
```java
public class MyRectangle implements Area {
private double length;
private double width;
public MyRectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double calculateArea() {
return length * width;
}
}
```
TestArea类:
```java
public class TestArea {
public static void main(String[] args) {
MyCircle circle = new MyCircle(2.0);
MyRectangle rectangle = new MyRectangle(3.0, 4.0);
System.out.println("圆的面积:" + useArea(circle));
System.out.println("矩形的面积:" + useArea(rectangle));
}
public static double useArea(Area a) {
return a.calculateArea();
}
}
```
阅读全文