Shape类,包含属性color,以及方法draw()(默认 实现打印"Drawingashape")。然后设计两个子类Circle和Rectangle 继承自Shape,并在各自的draw()方法中打印具体的形状名称和颜色。
时间: 2024-12-24 17:26:02 浏览: 0
在面向对象编程中,我们首先会有一个名为`Shape`的抽象类,它作为所有形状的基础。在这个例子中,`Shape`类有以下结构:
```java
public abstract class Shape {
private String color; // 属性,表示形状的颜色
public Shape(String color) {
this.color = color;
}
// 默认的draw()方法,用于通用的打印消息
public void draw() {
System.out.println("Drawing a shape with color: " + color);
}
// 定义getter和setter方法,这里是省略的
// public String getColor() { ... }
// public void setColor(String color) { ... }
}
```
接下来,我们将创建两个子类`Circle`和`Rectangle`,它们分别从`Shape`类继承,并覆盖`draw()`方法以提供更具体的形状信息:
```java
public class Circle extends Shape {
public Circle(String color) {
super(color); // 调用父类构造函数
}
@Override
public void draw() {
System.out.println("Drawing a circle with color: " + color);
}
}
public class Rectangle extends Shape {
public Rectangle(String color) {
super(color);
}
@Override
public void draw() {
System.out.println("Drawing a rectangle with color: " + color);
}
}
```
现在,你可以创建`Circle`和`Rectangle`的对象并调用它们的`draw()`方法,展示各自形状和颜色:
```java
public static void main(String[] args) {
Circle circle = new Circle("Red");
circle.draw(); // 输出: Drawing a circle with color: Red
Rectangle rectangle = new Rectangle("Blue");
rectangle.draw(); // 输出: Drawing a rectangle with color: Blue
}
```
阅读全文