(1) 定义一个接口Shape,包含两个方法:String getColor()和void setColor(String c)。 (2) 定义一个扩展自Shape的接口Shape2D,包含两个新方法double area()和void draw()。 (3) 定义一个类Circle实现Shape2D接口。其中area计算面积,draw打印字符串表示自己是circle。 (4) 定义一个类Rectangle实现Shape2D接口。其中area计算面积,draw打印字符串表示自己是rectangle。 (5
时间: 2024-03-03 08:51:50 浏览: 75
)以下是对你的问题的回答:
好的,我明白了你的问题。你想让我定义一个接口Shape,包含两个方法:String getColor()和void setColor(String c),并且定义一个扩展自Shape的接口Shape2D,包含两个新方法double area()和void draw()。你还需要我定义一个类Circle实现Shape2D接口,其中area计算面积,draw打印字符串表示自己是circle,以及定义一个类Rectangle实现Shape2D接口,其中area计算面积,draw打印字符串表示自己是rectangle。我可以为你提供如下代码示例:
```
// 定义Shape接口
interface Shape {
String getColor();
void setColor(String c);
}
// 定义Shape2D接口,扩展自Shape
interface Shape2D extends Shape {
double area();
void draw();
}
// 实现Shape2D接口的Circle类
class Circle implements Shape2D {
private String color;
private double radius;
public Circle(String color, double radius) {
this.color = color;
this.radius = radius;
}
@Override
public String getColor() {
return color;
}
@Override
public void setColor(String c) {
this.color = c;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
@Override
public void draw() {
System.out.println("I am a circle.");
}
}
// 实现Shape2D接口的Rectangle类
class Rectangle implements Shape2D {
private String color;
private double width;
private double height;
public Rectangle(String color, double width, double height) {
this.color = color;
this.width = width;
this.height = height;
}
@Override
public String getColor() {
return color;
}
@Override
public void setColor(String c) {
this.color = c;
}
@Override
public double area() {
return width * height;
}
@Override
public void draw() {
System.out.println("I am a rectangle.");
}
}
```
希望这个代码示例能够帮到你。如果你有其他问题,可以随时问我。
阅读全文