问题: 定义一个表示绘图规范的接口MakeShape,提供绘图时所需的线段粗细thickness和绘图的方法draw()。修改上一题的图形类使之能按绘图规范MakeShape提供的办法绘制图形。在上一题的TestShape定义一个静态方法drawShape().使之能绘制有所图形并运行测试。
/*定义一个表示绘图规范的接口MakeShape,
* 提供绘图时所需的线段粗细thickness和绘图的方法draw()。
* 修改上一题的图形类使之能按绘图规范MakeShape提供的办法绘制图形。
* 在上一题的TestShape定义一个静态方法drawShape().
* 使之能绘制有所图形并运行测试。*/
package zy;
/**
* @author
*/
interface MakeShape{
int thickness=1;
void draw();
}
abstract class Shape implements MakeShape{
protected String color;
public Shape(String color) {
super();
this.color = color;
}
public Shape() {
super();
}
public abstract double area();
}
class Circle extends Shape{
private double r;
public Circle(String color) {
super(color);
}
public Circle(String color, double r) {
super(color);
this.r = r;
}
public Circle() {
}
public double area(){
return Math.PI*r*r;
}
@Override
public void draw() {
System.out.println("Circle");
}
}
class Rectangle extends Shape{
private double height;
private double width;
public Rectangle() {
super();
}
public Rectangle(String color, double height, double width) {
super(color);
this.height = height;
this.width = width;
}
public double area(){
return height*width;
}
@Override
public void draw() {
System.out.println("Rectangle");
}
}
public class Main {
}