设计一个简单的图形类Shape,包含属性color(颜色)和方法draw()(绘制)。然后创建两个子类Rectangle和Circle,分别继承自Shape类,并实现自己的draw()方法。用java编写一个主类Test,创建两个子类对象,分别调用draw()方法,并将结果打印输出。
时间: 2024-03-23 15:35:55 浏览: 196
设计一个Shape接口和它的两个实现类Square和Circle,要求如下
好的,你可以这样实现Shape类及其两个子类:
```java
class Shape {
private String color;
public Shape(String color) {
this.color = color;
}
public void draw() {
System.out.println("Drawing a shape with color " + this.color);
}
}
class Rectangle extends Shape {
public Rectangle(String color) {
super(color);
}
@Override
public void draw() {
System.out.println("Drawing a rectangle with color " + this.color);
}
}
class Circle extends Shape {
public Circle(String color) {
super(color);
}
@Override
public void draw() {
System.out.println("Drawing a circle with color " + this.color);
}
}
```
在上面的代码中,我们定义了一个`Shape`基类,它有一个`color`属性和一个`draw()`方法。`Rectangle`和`Circle`是`Shape`的两个子类,它们分别实现了自己的`draw()`方法。在子类的构造函数中,我们调用了`super(color)`,来继承`Shape`的`color`属性。
接下来,我们可以编写一个`Test`类来创建两个子类对象并调用它们的`draw()`方法:
```java
public class Test {
public static void main(String[] args) {
Rectangle rect = new Rectangle("red");
Circle circle = new Circle("blue");
rect.draw();
circle.draw();
}
}
```
在上面的代码中,我们创建了一个`Test`类,它有一个`main()`方法。在`main()`方法中,我们创建了一个红色的矩形对象和一个蓝色的圆形对象,并且分别调用它们的`draw()`方法。最后,我们可以运行`Test.main()`来执行这个测试程序。
阅读全文