Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace adapter
- {
- class Program
- {
- static void Main(string[] args)
- {
- Fisherman fisherman = new Fisherman(); // создали нового рыбака
- FishRod fishRod = new FishRod(); // взяли удочку
- fisherman.ToFish(fishRod); // ловим рыбу на удочку
- // удочка сломалась, но есть резинка
- Rubber rubber = new Rubber(); //взяли леску, примотанную к резинке и грузу
- IFish rubbtorod = new FishRodToRubber(rubber); // использовали адаптер
- fisherman.ToFish(rubbtorod); // дальше спокойно рыбачим на резинку
- }
- //интерфейс удочки
- interface IFish
- {
- void t_hrow();
- }
- //класс удочки
- class FishRod : IFish
- {
- public void t_hrow()
- {
- Console.WriteLine("Закидка удочки");
- }
- }
- // класс рыбака
- class Fisherman
- {
- public void ToFish(IFish fish)
- {
- fish.t_hrow();
- }
- }
- //интерфейс резинки
- interface IElastic
- {
- void pull_on();
- }
- //класс резинки
- class Rubber : IElastic
- {
- public void pull_on()
- {
- Console.WriteLine("Натяжка лески резинкой");
- }
- }
- //Адаптер от удочки к резинке
- class FishRodToRubber : IFish
- {
- Rubber rubber;
- public FishRodToRubber(Rubber c)
- {
- rubber = c;
- }
- public void t_hrow()
- {
- rubber.pull_on();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement