package mei.qiu.gun;
abstract class Weapon {
abstract void display();
}
class Pistol extends Weapon{
void display() {
System.out.println("生产手枪");
}
}
class MachineGun extends Weapon{
void display() {
System.out.println("生产机关枪");
}
}
class WeaponFactory {
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 Demo {
public static void main(String[] args) {
Weapon pistol = WeaponFactory.createWeapon("手枪");
pistol.display();
Weapon mg = WeaponFactory.createWeapon("机关枪");
mg.display();
}
}
结果为:
生产手枪
生产机关枪