Files
java-design-patterns/factory-method/src/main/java/com/iluwatar/App.java

31 lines
906 B
Java
Raw Normal View History

2014-08-10 10:07:38 +03:00
package com.iluwatar;
2014-08-31 08:29:50 +03:00
/**
*
* 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.
*
*/
2014-08-10 10:07:38 +03:00
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);
}
}