36 lines
1.0 KiB
Java
Raw Normal View History

2014-08-12 23:09:32 +03:00
package com.iluwatar;
2014-08-31 08:56:13 +03:00
/**
*
* In Bridge pattern both abstraction (MagicWeapon)
* and implementation (MagicWeaponImp) have their
* own class hierarchies. The interface of the
* implementations can be changed without affecting
* the clients.
*
*/
2014-08-12 23:09:32 +03:00
public class App
{
public static void main( String[] args )
{
BlindingMagicWeapon blindingMagicWeapon = new BlindingMagicWeapon(new Excalibur());
blindingMagicWeapon.wield();
blindingMagicWeapon.blind();
blindingMagicWeapon.swing();
blindingMagicWeapon.unwield();
FlyingMagicWeapon flyingMagicWeapon = new FlyingMagicWeapon(new Mjollnir());
flyingMagicWeapon.wield();
flyingMagicWeapon.fly();
flyingMagicWeapon.swing();
flyingMagicWeapon.unwield();
SoulEatingMagicWeapon soulEatingMagicWeapon = new SoulEatingMagicWeapon(new Stormbringer());
soulEatingMagicWeapon.wield();
soulEatingMagicWeapon.swing();
soulEatingMagicWeapon.eatSoul();
soulEatingMagicWeapon.unwield();
}
}