Шаг 139.
Основы языка Python. Объектно-ориентированное программирование (ООП). Примеси и их использование

    На этом шаге мы рассмотрим примеси и их использование.

    Множественное наследование, поддерживаемое Python, позволяет реализовать интересный способ расширения функциональности классов с помощью так называемых примесей (mixins). Примесь - это класс, включающий какие-либо атрибуты и методы, которые необходимо добавить к другим классам. Объявляются они точно так же, как и обычные классы:

class Mixin:                # Определяем сам класс-примесь
    attr = 0                # Определяем атрибут примеси
    def mixin_method(self): # Определяем метод примеси
        print("Метод примеси")

    Теперь объявим два класса, добавим к их функциональности ту, что определена в классе-примеси Mixin, и проверим ее в действии:

 class Class1 (Mixin):
    def method1(self):
        print("Метод класса Class1")

class Class2 (Class1, Mixin):
    def method2(self):
        print("Метод класса Class2")

c1 = Class1()
c1.method1()
c1.mixin_method()	# Classl поддерживает метод примеси
c2 = Class2()
c2.method1()
c2.method2()
c2.mixin_method()	# Class2 также поддерживает метод примеси
Архив с файлом можно взять здесь.

    Результат выполнения приложения:

Метод класса Class1
Метод примеси
Метод класса Class1
Метод класса Class2
Метод примеси

    Примеси активно применяются в различных дополнительных библиотеках - в частности, в популярной библиотеке Web-программирования Django.

    На следующем шаге мы рассмотрим специальные методы.




Предыдущий шаг Содержание Следующий шаг