Домой

Последняя активность

  

Абстрактные базовые классы в Python

PyDeKolt avatar PyDeKolt (0) [#] (27.05.2013 / 16:49)
Абстрактный класс определяет, какие своиства и методы должны быть реализованы в подклассах, но он не предъявляет никаких требований к аргументам или возвращаемым значениям.

В ходе регистрации класса в абстрактном базовом классе не проверяется, действительно ли регистрируемый класс реализует абстрактные свойства и методы. Процедура регистрации оказывает влияние только на операции проверки типа и не производит дополнительных проверок на наличие ошибок в регистрируемом классе.
  1. from abc import ABCMeta, abstractmethod, abstractproperty
  2. class Color:
  3. """ Абстрактный класс """
  4. __metaclass__ = ABCMeta
  5. @abstractmethod
  6. def color(self, b): pass
  7. class Green(object):
  8. def color(self):
  9. print 'Green'
  10. # регистракция класса Green наследующего абстрактный класс Color
  11. Color.register(Green)
  12. g = Green()
  13. g.color() # Green
  14. print isinstance(g, Color) # True

- Классы в Python
* Python для начинающих
  Всего: 1

Зарегистрируйтесь и сможете комментировать все темы. Кнопочка вверху
Фильтр по автору
Скачать тему

В Форум

Новые вверху
waplog Рейтинг@Mail.ru
Statok.nettop-sid.ru
Яндекс.Метрика