public class Pen { public static void main(String[] args){ Color Red = new Red(); Brush BigBrush = new BigBrush(); BigBrush.setColor(Red); BigBrush.operation(); Color Green = new Green(); Brush MidBrush = new MidBrush(); MidBrush.setColor(Green); MidBrush.operation(); Color Blue = new Blue(); Brush SmallBrush = new SmallBrush(); SmallBrush.setColor(Blue); SmallBrush.operation(); } } interface Color { public void operationColor(); } class Red implements Color{ String color; public void operationColor() { color="Red"; System.out.println("颜色为红色"); } } class Blue implements Color{ String color; public void operationColor() { color="Blue"; System.out.println("颜色为蓝色"); } } class Green implements Color{ String color; public void operationColor() { color="Green"; System.out.println("颜色为绿色"); } } class Concretelmplementor { public Red getredcolor(){ return new Red(); } public Blue getbluecolor(){ return new Blue(); } public Green getgreencolor(){ return new Green(); } } abstract class Brush { protected Color color; public void setColor(Color color) { this.color=color; } public abstract void operation(); } class BigBrush extends Brush{ public void operation(){ System.out.print("使用大号毛笔:"); color.operationColor(); } } class MidBrush extends Brush{ public void operation(){ System.out.print("使用中号毛笔:"); color.operationColor(); } } class SmallBrush extends Brush{ public void operation(){ System.out.print("使用小号毛笔:"); color.operationColor(); } }
时间: 2024-04-26 15:21:38 浏览: 62
这段代码是一个简单的桥接模式的实现,其中使用了接口Color和实现它的三个类Red、Blue和Green,它们都有一个方法operationColor()。同时还有一个Concretelmplementor类,用于获取不同的颜色对象。抽象类Brush中有一个属性color,它是Color类型,还有一个抽象方法operation()。BigBrush、MidBrush和SmallBrush三个具体类继承了Brush抽象类,并实现了operation()方法,其中调用了color对象的operationColor()方法。在main()方法中创建了三个不同颜色的Color对象,并将它们设置到不同大小的画笔对象中,最后调用了它们的operation()方法。
相关问题
public class Pen { public static void main(String[] args){ Color Red = new Red(); Brush BigBrush = new BigBrush(); BigBrush.setColor(Red); BigBrush.operation(); Color Green = new Green(); Brush MidBrush = new MidBrush(); MidBrush.setColor(Green); MidBrush.operation(); Color Blue = new Blue(); Brush SmallBrush = new SmallBrush(); SmallBrush.setColor(Blue); SmallBrush.operation(); } } interface Color { public void operationColor(); } class Red implements Color{ String color; public void operationColor() { color="Red"; System.out.println("颜色为红色"); } } class Blue implements Color{ String color; public void operationColor() { color="Blue"; System.out.println("颜色为蓝色"); } } class Green implements Color{ String color; public void operationColor() { color="Green"; System.out.println("颜色为绿色"); } } class Concretelmplementor { public Red getredcolor(){ return new Red(); } public Blue getbluecolor(){ return new Blue(); } public Green getgreencolor(){ return new Green(); } } abstract class Brush { protected Color color; public void setColor(Color color) { this.color=color; } public abstract void operation(); } class BigBrush extends Brush{ public void operation(){ color.operationColor(); System.out.println("大号毛笔"); } } class MidBrush extends Brush{ public void operation(){ color.operationColor(); System.out.println("中号毛笔"); } } class SmallBrush extends Brush{ public void operation(){ color.operationColor(); System.out.println("小号毛笔"); } }
这段代码展示了一个桥接模式的实现,其中有三种不同的颜色(Red、Blue、Green)和三种不同的笔刷(BigBrush、MidBrush、SmallBrush),使用颜色来进行桥接,实现笔刷的不同操作。这段代码中,定义了一个Color接口,其中有一个operationColor()方法,每个颜色都实现了这个接口,并且定义了不同的颜色和操作。同时,定义了一个Concretelmplementor类,用于获取三种不同的颜色。Brush是一个抽象类,其中有一个Color属性和一个抽象的operation()方法,每个笔刷都继承了Brush并实现了自己的operation()方法。在Pen类中,通过实例化不同的Color和Brush,进行笔刷的操作。
阅读全文