设计模式笔记---简单工厂
2016-05-04 20:46
239 查看
工厂设计模式就是用一个工厂类去创建对象。
首先写一个抽象类在派生出子类根据需要在工厂类中创建不同的子类对象。
首先写一个抽象类在派生出子类根据需要在工厂类中创建不同的子类对象。
package cn.demail; public class FactoryDome { public static void main(String[] args) { //通过工厂类获得对象并调用action() AnimalFactory.createAnimal(AnimalFactory.CAT).action(); AnimalFactory.createAnimal(AnimalFactory.DOG).action(); } } abstract class Animal{//抽象动物类 private String name; private String type; abstract public void action(); public void whatYouAre(){ System.out.println(toString()); } public String toString() { return "Animal [name=" + name + ", type=" + type + "]"; } } class Dog extends Animal{//狗类 public void action() { System.out.println("dog会咬人"); } } class Cat extends Animal{//猫类 public void action() { System.err.println("cat会吃老鼠"); } } class AnimalFactory{//动物工厂类 static final int CAT=1; static final int DOG=2; static public Animal createAnimal(int flag){//根据参数返回对象 Animal animal=null; switch(flag){ case CAT: animal=new Cat(); break; case DOG: animal=new Dog(); break; } return animal; } }
相关文章推荐
- linux下使用GDB调试程序
- Android基础 | 创建新的Activity
- 关闭ubuntu的防火墙
- C经典 内存分配解析
- Java学习笔记之输入输出流(一) File、文件字节流、文件字符流
- C++的强制类型转换
- 关于九种求和方法
- matlab 随机函数的使用
- BF算法的实现
- 【Coding算法导论】第4章:最大子数组问题
- 线段树练习2
- 【Coding算法导论】第4章:最大子数组问题
- JavaScript -- 制作简易瀑布流
- 古罗马的加法
- 图片无限轮播
- 《linux命令》ps -aux详细解释
- BF算法的实现
- WebService学习总结(1)——通过jws:wsimoort工具调用第三方提供的webService服务
- hangman猜字游戏
- 最大子序列和最大子矩阵