工厂方法概述
工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。
优点
客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
缺点
需要额外的编写代码,增加子工作量
public class IntegerDemo { public static void main(String[] args) { Factory factory = new DogFactory(); Animal animal = factory.createAnimal(); animal.eat(); factory = new CatFactory(); animal = factory.createAnimal(); animal.eat(); } } abstract class Animal {// 抽象类 public abstract void eat(); } class Dog extends Animal {// 狗 public void eat() { System.out.println("a dog is eatting."); } } class Cat extends Animal {// 猫 public void eat() { System.out.println("a cat is eatting."); } } interface Factory {// 接口 public abstract Animal createAnimal(); } class DogFactory implements Factory {// 实现接口 public Animal createAnimal() { return new Dog(); } } class CatFactory implements Factory {// 实现接口 public Animal createAnimal() { return new Cat(); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍Java 方法签名详解及实例代码,包括了Java 方法签名详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 java 方法签名,我想做java 开发的朋友也知道,方法签名的重要性,是方法重载的一个比较好的解释,尤其是在后续优化方面,这里记录下,有看到的朋友也可看下, 方法签名的意义 对于同名不同类、同类不同名的方法,方法签名的意义并不是很大,但是对于重载方法来说,方法签名的意义
本文向大家介绍jQuery grep()方法详解及实例代码,包括了jQuery grep()方法详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 什么是jQuery.grep()? jQuery.grep()是一个查找满足过滤函数的数组元素的函数。原始数组不受影响,返回值为数组。 用法介绍: 写法: jQuery.grep( array, function(elementOfArray,
本文向大家介绍Java Annotation详解及实例代码,包括了Java Annotation详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 一、Annotation简介 从Java1.5开始,Java增加了元数据(MetaData)的支持,也就是Annotation(注释); Annotation能被用来为程序元素(类、方法、成员变量等)设置元数据; Annotation不能影响程序代
本文向大家介绍java HashMap详解及实例代码,包括了java HashMap详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 java HashMap Map集合的遍历 方式1,根据键查询值 获取所有键的集合 遍历键的集合,获取每一个键 根据键,查询值 方式2,根据键值对的对象查询键和值 获取所有键值对的对象的集合 遍历键值对的对象的集合,获取到每一个键值对的对象 根据键值对的对象
本文向大家介绍Java中Arrays.asList()方法详解及实例,包括了Java中Arrays.asList()方法详解及实例的使用技巧和注意事项,需要的朋友参考一下 Arrays.asList() 是将数组作为列表。 问题来源于: 期望的输出是 list 里面也有4个元素,也就是 size 为4,然而结果是1。 原因如下: 在 Arrays.asList 中,该方法接受一个变长参数,一般可看
本文向大家介绍java 工厂模式的实例详解,包括了java 工厂模式的实例详解的使用技巧和注意事项,需要的朋友参考一下 java 工厂模式的实例详解 工厂方法中的“工厂”和我们平常理解的一样:用于生产产品。 而客户是要和产品打交道,所以工厂方法模式的意义在于把客户和产品分开,达到解耦和更灵活的目的。 一般我们有一个产品的抽象类,然后有几个具体的产品,如下: 接着客户要购买产品,他不直接和产品接触,