36 lines
1008 B
Java
36 lines
1008 B
Java
package com.iluwatar;
|
|
|
|
/**
|
|
*
|
|
* 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.
|
|
*
|
|
*/
|
|
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();
|
|
|
|
}
|
|
}
|