package practice;interface DrawCircle { public void drawCircle(int radius, int x, int y);}class RedCircle implements DrawCircle { public void drawCircle(int radius, int x, int y) { System.out.println("Drawing Circle[red,radius:" + radius + ",x:" + x + ",y:" + y + "]"); }}class GreenCircle { public void drawCircle(int radius, int x, int y) { System.out.println("Drawing Circle[red,radius:" + radius + ",x:" + x + ",y:" + y + "]"); }}abstract class Shape { protected DrawCircle drawCircle; public Shape(DrawCircle drawCircle) { this.drawCircle = drawCircle; } public abstract void draw();}class Circle extends Shape{ private int x,y,radius; public Circle(int x,int y,int radius,DrawCircle drawCircle) { super.drawCircle=drawCircle; this.x=x; this.y=y; this.radius=radius; } public void draw() { drawCircle.drawCircle(radius, x, y); }}public class DrawCirclMain { public static void main(String[] args) { Shape redCircle=new Circle(100, 100, 10, new redCircle()); Shape greenCircle=new Circle(200, 200, 10, new greenCircle()); redCircle.draw(); greenCircle.draw(); }}
添加回答
举报
0/150
提交
取消