简谈工厂模式
来源:互联网 发布:绿尾真假辨别技巧知乎 编辑:程序博客网 时间:2024/06/07 18:06
工厂模式:简单地说就是内部有一个接口调用的可生成接口子类对象的方法,并有返回值,返回值类型为接口的子类对象,工厂模式最好做到:不能实例化,即要将工厂中的构造z方法(无参)私有化,然后将工厂内部的方法直接 public static,然后其他的类调用工厂的静态方法即可直接生成一个需要的子类对象。
package factory;public class Test {public static void main(String[] args) {Action action=MyFactory.newInstence();action.run();}}
package factory;import java.util.Scanner;public class MyFactory {private MyFactory (){super();}public static Action newInstence(){System.out.println("输入一个数:");int num=new Scanner(System.in).nextInt();if (num==1) {return new Dog();}else {return new Cat();}} }
package factory;public interface Action {void run();}
package factory;public class Cat implements Action{@Overridepublic void run() {System.out.println("cat run");}}
package factory;public class Dog implements Action{@Overridepublic void run() {System.out.println("dog run");}}
如上述程序,猫与狗都有相同的行为,则写一个接口执行一个 run 动作,将此接口作为工厂的返回值类型(父类的引用指向子类对象 ,调用自Ei的方法,为多态中的向上转型,便于理解),此方法为静态方法,可直接用工厂名(MyFactory)调用此方法,同时创建一个有选择的子类对象,然后通过主函数直接调用,直接用 Action(接口)生成一个子类对象,然后执行子类方法。工厂模式用于复杂的且具用共性的类中,将有的共性行为命名为接口,然后通过工厂创造实例,便于修改文件
1 0
- 简谈工厂模式
- .NET简谈工厂模式
- .NET简谈设计模式之(工厂模式) -简单的工厂模式
- 再谈工厂模式
- 再谈工厂模式
- .NET简谈设计模式之(抽象工厂模式)
- .NET简谈设计模式之(抽象工厂模式)
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- Android自动化实现点击自定义ListAdapter类控件
- leetcode Odd Even Linked List
- 【33】二叉树的镜像
- HDOJ3709_Balanced Number
- 活動的生命週期-11
- 简谈工厂模式
- 应当了解的OC知识 (1) 转载修改_OC
- Scala学习11之在eclipse下使用scalatest插件对scala文件进行测试
- 原创血泪教训【error】LINK1123: failure during conversion to COFF: file invalid or corrupt
- MapReduce 之 单表关联 设计思路与源码分析
- POJ2960(SG函数,模板题)
- 三维形体的数据结构(1)半边数据结构
- Java 设计模式-观察者模式(Observer)
- SG函数入门