工厂模式 map使用
时间: 2023-10-24 22:04:13 浏览: 55
工厂模式中使用map可以提供一种更优雅的方式来进行类型判断和对象创建。通过使用map,我们可以将不同的类型和对应的对象进行一一映射,从而消除了繁琐的条件判断语句,使代码更加简洁和可读性更高。在上述提供的代码示例中,通过使用工厂模式和map,我们可以将不同水果类型与相应的水果对象进行映射。具体实现步骤如下:
1. 创建一个工厂类FruitFactory,该类中包含一个静态方法getFruit,参数为fruitType,用于获取对应类型的水果对象。
2. 在getFruit方法内部,使用map来存储不同类型的水果对象。例如,将"apple"和Apple对象进行映射,将"banana"和Banana对象进行映射,将其他类型与Watermelon对象进行映射。
3. 在客户端代码中,通过调用FruitFactory.getFruit(fruitType)方法,传入用户选择的水果类型,即可获取对应类型的水果对象。
4. 最后,可以调用水果对象的相应方法,如eat()方法,来实现相应的功能。
通过使用工厂模式和map,我们可以将对象的创建逻辑封装在工厂类中,使得客户端代码不需要关心具体的对象创建细节,只需要调用工厂方法并传入相应的参数即可获取到对应的对象。这种方式可以提高代码的可维护性和扩展性,使得代码更加清晰和易于理解。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [策略模式+工厂模式+map](https://blog.csdn.net/qq_31217363/article/details/106012287)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]