Я столкнулся с ситуацией, когда у меня есть базовый класс и несколько производных классов. В каждом из производных классов я делаю действие извлечения общих данных из ввода, данного методу. Таким образом, я написал этот фрагмент кода в базовом классе как метод, чтобы производные классы могли использовать его напрямую. Но я хочу вызвать эту функцию из каждого метода, где я хочу выполнить это действие. Мой вопрос в том, что я могу написать декоратор для этого действия? Я хочу, чтобы этот декоратор был членом базового класса. Можно ли использовать метод базового класса в качестве декоратора в производных классах?Использовать метод базового класса в качестве декоратора в производных классах
1
A
ответ
1
Базовый класс:
class BaseRequestHandler(object):
def __init__(self):
self.request=None
self.response=None
def extractheader(self,requestin):
##extracts header from incoming request
производный класс:
class DerivedRequestHandler1(BaseRequestHandler):
def __init__(self):
super(DerivedRequestHandler1, self).__init__()
def handlermethod(self,requestin)
##extract headed
##call internal API with header
Смежные вопросы
- 1. Определить неопределенный метод базового класса в производных классах
- 2. Метод класса в качестве декоратора
- 3. Определить методы конструктора базового класса в производных классах
- 4. Поднять события базового класса в производных классах C#
- 5. Как заставить конструкторы базового класса вызываться в производных классах?
- 6. Порядок инициализации в производных классах
- 7. Ошибка в производных классах
- 8. Конструкторы VB.NET в производных классах
- 9. Абстрактная реализация класса в производных классах
- 10. Использование метода базового класса Значение в унаследованных классах переопределенный метод
- 11. Фабричные методы в производных классах
- 12. Как использовать вектор в качестве базового класса
- 13. C# статический метод базового класса заглушки с * требуется * осуществление во всех производных классах
- 14. шаблоны, общий метод, возвращающий данные в производных классах
- 15. C#: Добавление методов расширения для базового класса, чтобы они отображались в производных классах
- 16. Структура точек в производных классах
- 17. Использование noexcept в производных классах
- 18. Как найти поле в производных классах класса в java?
- 19. Изменение значений производных классов из базового класса
- 20. C++ как вызвать метод базового класса из нескольких производных классов?
- 21. Как вызвать метод базового класса без изменения всех производных классов
- 22. реализовать метод базового класса для доступа к свойству производных классов
- 23. Любой путь в C++ для базового класса для diallow виртуальных методов во всех производных классах?
- 24. Выполнение реализации событий в производных абстрактных классах
- 25. Раздражающее дублирование в производных классах
- 26. Расширение перечисления в производных классах
- 27. Как использовать шаблон декоратора, чтобы напрямую изменять членов базового класса?
- 28. SetUp в производных классах с NUnit?
- 29. Наследования использовать только свойство базового класса вместо производных одной
- 30. Зачем использовать указатели базового класса для производных классов
Можете ли вы привести пример из этих методов? Я не вижу разницы между применением декоратора к каждому методу производного класса и просто вызовом метода базового класса (через 'super' или непосредственно через имя класса) внутри метода производного класса. – chepner
Существует несколько обработчиков запросов для различных внутренних API. Все эти обработчики имеют методы, которые называют эти API. Для каждого из этих внутренних API требуется заголовок запроса, который является частью входящего запроса. Поэтому в каждом методе я должен извлечь эту информацию из входящего запроса, чтобы сформировать заголовок, необходимый для вызова API. Таким образом, чтобы избежать повторения кода, я создал базовый класс и написал этот код в методе базового класса. Но теперь я хочу использовать этот метод базового класса в качестве декоратора в производных классах. Как мне это сделать? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. – gliese581g
Вызов метода базового класса из метода производного класса не является более повторяющимся, чем необходимость применения декоратора к каждому методу производного класса и его легче реализовать и прочитать. – chepner