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("小号毛笔"); } }
时间: 2024-04-26 21:21:47 浏览: 9
这段代码展示了一个桥接模式的实现,其中有三种不同的颜色(Red、Blue、Green)和三种不同的笔刷(BigBrush、MidBrush、SmallBrush),使用颜色来进行桥接,实现笔刷的不同操作。这段代码中,定义了一个Color接口,其中有一个operationColor()方法,每个颜色都实现了这个接口,并且定义了不同的颜色和操作。同时,定义了一个Concretelmplementor类,用于获取三种不同的颜色。Brush是一个抽象类,其中有一个Color属性和一个抽象的operation()方法,每个笔刷都继承了Brush并实现了自己的operation()方法。在Pen类中,通过实例化不同的Color和Brush,进行笔刷的操作。
相关问题
public class RunQuiz { public static void main(String[] args) {} Question q = new Question(); }为什么看不到窗口?
您的代码有一个问题,它在 `main` 方法中没有执行任何语句,因此不会创建 `Question` 实例。您需要将创建 `Question` 实例的语句放在 `main` 方法中,例如:
```
public class RunQuiz {
public static void main(String[] args) {
Question q = new Question(); // 创建 Question 实例
}
}
```
这样运行 `main` 方法时,将创建 `Question` 实例并显示窗口。
public class E { public static void main(String args[]) { ComputerFrame fr = new ComputerFrame(); //【1】窗口标题设为“计算” } }
在示例代码中,我们可以通过以下方式将窗口标题设为“计算”:
```java
public class E {
public static void main(String args[]) {
ComputerFrame fr = new ComputerFrame();
fr.setTitle("计算"); // 【1】设置窗口标题为“计算”
}
}
```
在这个示例中,我们创建了一个名为`fr`的`ComputerFrame`对象,并使用`fr.setTitle("计算")`的方式将窗口标题设为“计算”。需要注意的是,这个方法需要在创建完窗口对象之后调用。