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 16:21:36 浏览: 55
这段代码是一个简单的桥接模式的示例,通过将抽象部分与它的实现部分分离,使它们可以独立地变化。其中,Color接口充当实现部分,Brush抽象类充当抽象部分,BigBrush、MidBrush和SmallBrush是Brush类的具体实现,它们分别使用了不同大小的毛笔和不同颜色的颜料进行作画。同时,Concretelmplementor类是实现部分的具体实现,提供了获取不同颜色的颜料的方法。
相关问题
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,进行笔刷的操作。
阅读全文