2024年4月19日发(作者:)
Java 设计模式练习题及答案
在学习Java设计模式时,练习题是非常重要的一部分。通过练习题
的实践,可以更好地理解和应用设计模式,提升自己的编程能力。本
文将介绍一些Java设计模式练习题,并提供相应的答案,希望能对读
者在设计模式的学习和实践中有所帮助。
一、题目一:单例模式——懒汉式实现
问题描述:请编写一个线程安全的懒汉式单例模式。
解答示例:
```java
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
二、题目二:工厂模式——简单工厂实现
问题描述:请使用简单工厂模式实现一个计算器,支持加减乘除四
种运算。
解答示例:
```java
public class CalculatorFactory {
public static Calculator createCalculator(String operator) {
Calculator calculator = null;
switch (operator) {
case "+":
calculator = new AddCalculator();
break;
case "-":
calculator = new SubtractCalculator();
break;
case "*":
calculator = new MultiplyCalculator();
break;
case "/":
calculator = new DivideCalculator();
break;
}
return calculator;
}
}
public interface Calculator {
double calculate(double num1, double num2);
}
public class AddCalculator implements Calculator {
@Override
public double calculate(double num1, double num2) {
return num1 + num2;
}
}
public class SubtractCalculator implements Calculator {
@Override
public double calculate(double num1, double num2) {
return num1 - num2;
}
}
// MultiplyCalculator和DivideCalculator类似,省略代码
// 使用示例
Calculator calculator = Calculator("+");
double result = ate(2, 3); // 结果为5
```
三、题目三:观察者模式
问题描述:请设计一个简单的气象站系统,该系统需要实现以下功
能:
1. 可以添加观察者并实时更新气象数据;
2. 当气象数据发生变化时,自动通知所有观察者进行更新。
解答示例:
```java
import ist;
import ;
public class WeatherStation {
发布者:admin,转转请注明出处:http://www.yc00.com/news/1713540215a2269191.html
评论列表(0条)