Files
java-design-patterns/factory-method/src/main/java/com/iluwatar/App.java
T
2014-08-31 08:29:50 +03:00

31 lines
906 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);
}
}