五分钟精通设计模式(三)之工厂方法模式

本文由【程序员伟哥】原创,转载请注明出处,不注明请默念三遍【我爱技术】后转载!
更多精彩请关注微信公众号:【IT殿堂】
可以加我微信一起交流技术:【qqqq123456】

工厂方法模式分为三种:

普通工厂方法模式、多个工厂方法模式、静态工厂方法模式

废话不多说,下面直奔主题,实现步骤:

工厂模式

就是建立一个工厂类
对实现了同一接口的一些类进行实例的创建。

实现步骤:

1、要实现的同一接口。

IAnimal

public interface IAnimal {
	//发出声音
	void makeSound();
}

2、实现了同一接口的一些类。

AnimalDog,AnimalCat

public class AnimalDog implements IAnimal{

	@Override
	public void makeSound() {
		System.out.println("小狗叫,汪汪汪...");
	}

}
public class AnimalCat implements IAnimal{

	@Override
	public void makeSound() {
		System.out.println("小猫叫,喵喵喵..");
	}

}

3、工厂类,用来在其中创建对象。

   普通工厂模式:

    NormalAnimalFactory

public class NormalAnimalFactory {
	
	public IAnimal createAniman(String type){
		if("dog".equals(type)){
			return new AnimalDog();
		}else if("cat".equals(type)){
			return new AnimalCat();
		}else{
			System.out.println("你要创造的动物不存在!");
			return null;
		}
	}
}

   多个工厂方法模式

    MultAnimalFactory

public class MultAnimalFactory {
	
	public IAnimal createDog(){
		return new AnimalDog();
	}
	public IAnimal createCat(){
		return new AnimalCat();
	}
}

   静态工厂方法模式

    StaticAnimalFactory

public class StaticAnimalFactory {
	public static IAnimal createDog(){
		return new AnimalDog();
	}
	public static IAnimal createCat(){
		return new AnimalCat();
	}
}

源码地址:https://github.com/tianshanaoxue/design-pattern.git

有兴趣可以关注我的微信公众账号:IT殿堂


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值