A.观察者(Observer)
B.访问者(Ⅴisitor)
C.策略(Strategy)
D.桥接(Bridge)
搜题
第4题
【题目描述】
● 下列UML类图表示的是 (46) 设计模式。该设计模式中, (47) 。

(46)
A. 备忘录(Memento)
B. 策略(Strategy)
C. 状态(State)
D. 观察者(Observer)
(47)
A. 一个Subject对象可对应多个Observer对象
B. Subject只能有一个ConcreteSubject子类
C. Observer只能有一个ConcreteObserver子类
D. 一个Subject对象必须至少对应一个Observer对象
| 问题1【我提交的答案】: D |
| 【参考答案与解析】: 正确答案:D |
| 问题2【我提交的答案】: A |
| 【参考答案与解析】: 正确答案:A |
对于这种图实在难以理解
第6题
A.命令(Command)
B.责任链(ChainofResponsibility)
C.观察者(Observer)
D.策略(Strategy)
第7题
A.Strategy(策略)
B.Adapter(适配器)
C.Command(命令)
D.Observer(观察者)
第8题
空白(2)处应选择()A.Subject
B. ConcreteSubject
C. Observer
D. ConcreteObserver
第9题
A.Strategy(策略)
B.Adapter(适配器)
C.Command(命令)
D.Observer(观察者)
第10题
A.解释器(Interpreter)
B.策略(Strategy)
C.中介者(Mediator)
D.观察者(Observer)
第11题

【Java代码】 import java.util.*; interface Observer { public void update(float temp, float humidity, float cleanness); } interface Subject { public void registerObserver(Observer o); //注册对主题感兴趣的观察者 public void removeObserver(Observer o); //删除观察者 public void notifyObservers(); //当主题发生变化时通知观察者 } class EnvironmentData implements (1) { private ArrayList observers; private float temperature, humidity, cleanness; public EnvironmentData() { observers = new ArrayList(); } public void registerObserver(Observer o) { observers.add(o); } public void removeObserver(Observer o) { /* 代码省略 */ } public void notifyObservers() { for (int i = 0; i < observers.size(); i++) { Observer observer = (Observer)observers.get(i); (2) ; } } public void measurementsChanged() { (3) ; } public void setMeasurements(float temperature, float humidity, float cleanness) { this.temperature = temperature; this.humidity = humidity; this.cleanness = cleanness; (4) ; } } class CurrentConditionsDisplay implements (5) { private float temperature; private float humidity; private float cleanness; private Subject envData; public CurrentConditionsDisplay(Subject envData) { this.envData = envData; (6) ; } public void update(float temperature, float humidity, float cleanness) { this.temperature = temperature; this.humidity = humidity; this.cleanness = cleanness; display(); } public void display() {/* 代码省略 */ } } class EnvironmentMonitor{ public static void main(String[] args) { EnvironmentData envData = new EnvironmentData(); CurrentConditionsDisplay currentDisplay = new CnrrentConditionsDisplay(envData); envData.setMeasurements(80, 65, 30.4f); } }
警告:系统检测到您的账号存在安全风险
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!