zoukankan      html  css  js  c++  java
  • Java的设计模式 之 简单的工厂模式(二)

    下面的代码是稍微改进后的工厂模式

        abstract class MoveAble{
    	public abstract void run();
    }
    abstract class Woopen{
    	public abstract void attack();
    }
    
    abstract class Food{
    	public abstract void eat();
    }
    
    interface AllFactory{
    	public MoveAble createM();
    	
    	public Woopen createW();
    	
    	public Food createF();
    }
    
    class Car extends MoveAble{
    	public void run(){
    		System.out.println("Car is runing");
    	}
    }
    
    class AK47 extends Woopen{
    	public void attack(){
    		System.out.println("da da da");
    	}
    }
    
    class Apple extends Food{
    	public void eat(){
    		System.out.println("Name");
    	}
    }
    
    class Broom extends MoveAble{
    	public void run(){
    		System.out.println("flaying ....");
    	}
    }
    
    class MagicStick extends Woopen{
    	public void attack(){
    		System.out.println("Bang ....");
    	}
    }
    
    class MashRoom extends Food{
    	public void eat(){
    		System.out.println("Ya you du !!!");
    	}
    }
    
    class DefaultFactory implements AllFactory{
    	public MoveAble createM(){
    		return new Car();
    	}
    	
    	public Woopen createW(){
    		return new AK47();
    	}
    	
    	public Apple createF(){
    		return new Apple();
    	}
    }
    
    class MagicFactory implements AllFactory{
    	public MoveAble createM(){
    		return new Broom();
    	}
    	
    	public Woopen createW(){
    		return new MagicStick();
    	}
    	
    	public Food createF(){
    		return new MashRoom();
    	}
    }
    
    
    
  • 相关阅读:
    第一类斯特林数,第二类斯特林数,组合数
    P1005 矩阵取数游戏
    P4609 [FJOI2016]建筑师
    射击小游戏一03(碰撞检测)
    CCLabelAtlas 特效 自定义CCLabelTTF
    CCSpriteBatchNode cocos2dx使用
    cocos2dx plist动画
    CCSpriteBatchNode 渲染
    cocos2dx 实现翻牌效果
    cocos2dx技能冷却
  • 原文地址:https://www.cnblogs.com/gxcstyle/p/8672510.html
Copyright © 2011-2022 走看看