利用多态实现画形状功能,满足如下要求 (1)定义一个形状接口Shape,包括一个public void draw()方法。 (2)定义一个圆形类Circle(包含半径r成员),实现draw方法,输出"画圆形"。 (3)定义一个长方形类Rectange(包含width和height成员),实现draw方法,输出"画长方形"。 (4)定义一个测试类,声明两个Shape类型的对象(circle和rect),利用多态特性实现输出画圆形和画长方形。
时间: 2023-12-03 14:44:15 浏览: 115
以下是代码实现:
```
public interface Shape {
public void draw();
}
public class Circle implements Shape {
private double r;
public Circle(double r) {
this.r = r;
}
@Override
public void draw() {
System.out.println("画圆形");
}
}
public class Rectangle implements Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public void draw() {
System.out.println("画长方形");
}
}
public class Test {
public static void main(String[] args) {
Shape circle = new Circle(5);
Shape rect = new Rectangle(4, 6);
circle.draw();
rect.draw();
}
}
```
在测试类中,我们声明了两个Shape类型的对象circle和rect,它们分别指向Circle和Rectangle对象。由于它们都实现了Shape接口,因此可以通过多态特性调用draw方法,输出对应的形状。这样,在未来如果要增加新的形状类,只需要实现Shape接口并实现draw方法即可,不需要修改测试类的代码。
阅读全文