简单工厂模式
简单工厂模式(静态工厂方法模式)。在一个简单工厂模式中定义一个工厂类,该类能够根据不同参数返回不同类的实例,被创建的实例有共同的父类。
特点:通过工厂方法传入参数就能获得一个对象,不需要知道创建细节。
package 创建型模式.简单工厂;
/** * @author 10073
* @date 2021/12/7
* @TIME 20:14
*/
abstract class Weapon{ abstract void display();//显示兵器名称}
//机关枪继承Weapon
class MachineGun extends Weapon{
@Override
void display() {
System.out.println("机关枪");
}}
//手枪继承Weapon
class Pistol extends Weapon{
@Override void display() {
System.out.println("手枪");
}}
class WeaponFactory{
//静态方法生产武器,参数表示武器类型
public static Weapon createWeapon(String type){
Weapon w=null;
switch (type){
case"手枪":
w=new Pistol();
break;
case"机关枪":
w=new MachineGun();
break;
default:
System.out.println("不能生产该兵器");
}
return w;
}}
public class demo {
public static void main(String[] args) {
// 兵工厂生产手枪
Weapon pistol= WeaponFactory.createWeapon("手枪");
pistol.display();
// 兵工厂生产机关枪
Weapon mg=WeaponFactory.createWeapon("机关枪");
mg.display(); }}