static void _Main(string[] args) { IBeast dragon = new SimpleDragon(); Bogatyr illiaMuromets = new Bogatyr(); illiaMuromets.KillBeast(dragon); if (!dragon.HeadIsPresent) { Console.WriteLine("Перший дракон обезголовлений і мертвий."); } // на місце мертворо дракона приходить новий // і цього разу в нього не одна, а 3 голови MultiheadedDragon resurrectedDragon = new MultiheadedDragon(3); // illiaMuromets.KillBeast(resurrectedDragon); - не вийшло зразу подолати нового дракона( // але прийшов адаптер і напоумив богатиря NewBeastAsOld dragonIsTheSame = new NewBeastAsOld(resurrectedDragon); illiaMuromets.KillBeast(dragonIsTheSame); if (!dragonIsTheSame.HeadIsPresent) { Console.WriteLine("Другий дракон обезголовлений і мертвий."); } Console.ReadLine(); }
public NewBeastAsOld(MultiheadedDragon m) { multiheadedDragon = m; }