、编写一个程序,其中包括一个抽象类Shape和一个接口Colorable。Shape类应该有一个名为draw的抽象方法,用于模拟绘制形状的行为。接着,实现两个Shape的子类:Circle和Recta
时间: 2024-12-08 13:16:15 浏览: 7
在Java中,你可以按照以下步骤编写这个程序:
首先,定义一个抽象类`Shape`,它包含一个抽象方法`draw`:
```java
public abstract class Shape {
// 抽象方法,需要在每个子类中实现
public abstract void draw();
}
```
然后,创建一个接口`Colorable`,表示可以着色的对象:
```java
public interface Colorable {
// 接口方法,提供颜色属性和设置颜色的方法
String getColor();
void setColor(String color);
}
```
接下来,为`Shape`类添加`Colorable`接口的支持:
```java
public abstract class Shape implements Colorable {
// ...
}
```
现在我们可以创建两个实现了`Shape`并覆盖`draw`方法的子类,比如`Circle`和`Rectangle`:
```java
public class Circle extends Shape {
private String color;
@Override
public void draw() {
System.out.println("Drawing a circle with color " + getColor());
}
@Override
public String getColor() {
return color;
}
@Override
public void setColor(String color) {
this.color = color;
}
}
public class Rectangle extends Shape {
private String color;
@Override
public void draw() {
System.out.println("Drawing a rectangle with color " + getColor());
}
@Override
public String getColor() {
return color;
}
@Override
public void setColor(String color) {
this.color = color;
}
}
```
在这个例子中,`Circle`和`Rectangle`都实现了`draw`方法,并且作为`Colorable`接口的一部分,它们都有颜色属性和设置颜色的方法。
阅读全文