29 lines
843 B
Java
29 lines
843 B
Java
package com.iluwatar;
|
|
|
|
/**
|
|
*
|
|
* In Factory Method we have an interface (Blacksmith) with a method for
|
|
* creating objects (manufactureWeapon). The concrete subclasses (OrcBlacksmith,
|
|
* ElfBlacksmith) then override the method to produce objects of their liking.
|
|
*
|
|
*/
|
|
public class App {
|
|
|
|
public static void main(String[] args) {
|
|
Blacksmith blacksmith;
|
|
Weapon weapon;
|
|
|
|
blacksmith = new OrcBlacksmith();
|
|
weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR);
|
|
System.out.println(weapon);
|
|
weapon = blacksmith.manufactureWeapon(WeaponType.AXE);
|
|
System.out.println(weapon);
|
|
|
|
blacksmith = new ElfBlacksmith();
|
|
weapon = blacksmith.manufactureWeapon(WeaponType.SHORT_SWORD);
|
|
System.out.println(weapon);
|
|
weapon = blacksmith.manufactureWeapon(WeaponType.SPEAR);
|
|
System.out.println(weapon);
|
|
}
|
|
}
|