package chapter8;
//1.抽象产品类Weapon
abstract class Weapon {
abstract void display(); //显示武器名称
}
class MachineGun extends Weapon {
@Override
void display() {
System.out.println("生产机关枪");
}
}
//2.Pistol类继承Weapon类
class Pistol extends Weapon {
@Override
void display() {
System.out.println("生产手枪");
}
}
class WeaponFactory { //3.工厂类
public static Weapon createWeapon(String name) {
Weapon w = null;
switch (name) {
case "手枪":
w = new Pistol();
break;
case "机关枪":
w = new MachineGun();
break;
default:
System.out.println("暂时不能生产该武器:" + name);
}
return w;
}
}
public class Chapter0804 {
public static void main(String[] args) {
//生产手枪
Weapon pistol = WeaponFactory.createWeapon("手枪");
pistol.display();
//生产机关枪
Weapon mg = WeaponFactory.createWeapon("机关枪");
mg.display();
}
}
简单工厂模式
最新推荐文章于 2024-11-04 22:26:34 发布
本文介绍了使用Java编程实现的抽象类Weapon和其两个子类MachineGun和Pistol,以及一个WeaponFactory工厂类,展示了如何通过工厂方法创建不同类型的武器并调用其显示功能。
摘要由CSDN通过智能技术生成