工厂模式
概念
把创建对象的语句,封装到一个类中 ,形成工厂模式
把类和类之间的强依赖关系变弱,灵活度更高
public class Factory_01 {
public static void main(String[] args) {
// 队友
// fight(new ZhuanTou());
// fight(new ZhuanTou());
// fight(new ZhuanTou());
// fight(new ZhuanTou());
// fight(new ZhuanTou());
// fight(new RPG());
// fight(new RPG());
// fight(new RPG());
// fight(new RPG());
// fight(new RPG());
fight(WeaponFactory.getWeapon());
fight(WeaponFactory.getWeapon());
fight(WeaponFactory.getWeapon());
fight(WeaponFactory.getWeapon());
fight(WeaponFactory.getWeapon());
// 敌人
fight(new AK47());
fight(new AK47());
}
public static void fight(Weapon weapon) {
weapon.fireInTheHole();
}
}
public class AK47 implements Weapon{
public void fireInTheHole() {
System.out.println("PAPAPA~");
}
}
public class RPG implements Weapon{
public void fireInTheHole() {
System.out.println("beng~");
}
}
public interface Weapon {
public void fireInTheHole();
}
public class WeaponFactory {
public static Weapon getWeapon() {
// return new ZhuangTou();
return new RPG();
}
}
public class ZhuanTou implements Weapon{
public void fireInTheHole() {
System.out.println("PA~");
}
}