使用枚举实现工厂方法

本文介绍了如何利用枚举来实现工厂方法,定义了水果接口和苹果、橘子的实现类。通过创建水果枚举和工厂,可以根据枚举实例化不同的水果对象,简化了代码并避免了参数错误的问题。
摘要由CSDN通过智能技术生成

使用枚举实现工厂方法

定义水果接口 和 苹果橘子实现类

//水果接口
interface Fruit {
	void desc();
}

static class Apple implements Fruit {
	@Override
	public void desc() {
		System.out.println("我是苹果");
	}
}

static class Orange implements Fruit {
	@Override
	public void desc() {
		System.out.println("我是橘子");
	}
}

一般方法,定义水果枚举和水果工厂,根据枚举生产不同水果

enum FruitEnum {
	Apple, Orange
}

static class FruitFactory {

	Fruit create(FruitEnum fruitEnum) {
		switch (fruitEnum) {
			case Apple:
				return new Apple();
			case Orange:
				return new Orange();
			default:
				throw new RuntimeException("不支持");
		}
	}


public static void main(String[] args) {
	FruitFactory fac = new FruitFactory();
	Fruit fruit = fac.create(FruitEnum.Apple);
}

使用枚举实现工厂方法,使用起来跟简介,不用担心参数传错

	enum FruitFactory2 {
	Apple {
		@Override
		Fruit create() {
			return new Apple();
		}
	},
	Orange {
		@Override
		Fruit create() {
			return new Orange();
		}
	};
	//枚举内的抽象方法
	abstract Fruit create();
}


public static void main(String[] args) {
	Fruit fruit = FruitFactory2.Apple.create();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值