在Board中用一个Shape数组保存6个Shape接口实现类的对象,并在一个名为refresh的方法调用数组中每个对象的draw方法
时间: 2024-10-18 13:08:42 浏览: 33
在Board类的设计中,为了保持灵活性并利用多态性,你可以创建一个Shape类型的数组,其中包含六个实现了Shape接口的具体类的对象。Shape接口是一个抽象接口,定义了所有形状共同的行为,如`draw()`方法。以下是描述这个场景的一种方式:
```java
public interface Shape {
void draw();
}
// 具体的形状实现类
public class Circle implements Shape {
// 圆形的具体实现
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
public class Square implements Shape {
// 矩形的具体实现
@Override
public void draw() {
System.out.println("Drawing a square");
}
}
// ...还有其他四个形状实现
public class Board {
private Shape[] shapes;
public Board() {
shapes = new Shape[6]; // 创建一个长度为6的Shape数组
shapes[0] = new Circle(); // 第一个元素实例化Circle
// ...类似地,为剩余五个位置填充Square等形状
}
public void refresh() {
for (Shape shape : shapes) { // 遍历数组
shape.draw(); // 调用每个对象的draw方法
}
}
}
```
在这个例子中,当你调用`refresh()`方法时,会依次调用每个Shape对象的`draw()`方法,无论它们是Circle、Square还是其他形状,这体现了多态性。
阅读全文