Адаптер — паттерн, структурирующий классы и объекты. Преобразует интерфейс одного класса в интерфейс другого, который ожидают клиенты. Адаптер обеспечивает совместную работу классов с несовместимыми интерфейсами, которая без него была бы невозможна.
class Doge: def __init__(self, name): self.name = name def bark(self): print("{}: Гав Гав".format(self.name)) class Kitty: def __init__(self, name): self.name = name def meow(self): print("{}: Мяу Мяу".format(self.name)) class KittyAdaapter(Doge): def __init__(self, name): super(KittyAdaapter, self).__init__(name) self._kitty = Kitty(name) def bark(self): return self._kitty.meow() dog = Doge('Steve') dog.bark() adapter = KittyAdaapter('Steve') adapter.bark()
Получим
Steve: Гав Гав Steve: Мяу Мяу