阅读560 返回首页    go 阿里云 go 技术社区[云栖]


设计模式——简单工厂模式

 

package cn.vehicle

 

public interface Moveable
{
 public void run();
}

 

public class Car implements Moveable
{
 public void run()
 {
  System.out.println("开车喽");
 }
}

 

public class Plane implements Moveable
{
 public void run()
 {
  System.out.println("开飞机喽");
 }
}

 

package cn.factory

 

import cn.vehicle.Moveable;

public abstract class VehicleFactory
{
 public abstract Moveable createInstance();
}

 

import cn.vehicle.Car;

public class CarFactory extends VehicleFactory
{
 public Car createInstance()
 {
  return new Car();
 }
}

 

import cn.vehicle.Plane;

public class PlaneFactory extends VehicleFactory
{
 public Plane createInstance()
 {
  return new Plane();
 }
}

 

 

package cn.test

 

import cn.factory.VehicleFactory;
import cn.factory.PlaneFactory;
import cn.vehicle.Moveable;

public class Test
{
 public static void main(String[] args)
 {
  VehicleFactory factory = new PlaneFactory();
  Moveable m = factory.createInstance();
  m.run();
 }
}


 

 

 


 

最后更新:2017-04-02 22:16:38

  上一篇:go 设计模式——简单工厂模式
  下一篇:go 100个开源C/C++项目中的bugs(一)数组和字符串处理的错误