Найти - Пользователи
Полная версия: Вызвать функцию в конце каждой инициализации
Начало » Python для новичков » Вызвать функцию в конце каждой инициализации
1
NE88
У меня есть иерархия классов. Каждый инициализируется по своему, но в конце каждой инициализации должна вызываться некоторая функция базового класса. Могу ли я как-то это определить один раз в базовом классе? Или нужно явно процедуру инициализации каждого класса потомка завершать нужной функцией?
FishHook
Вынесите всю логику из __init__ в другую функцию. В ините вызывайте эту функцию и “некоторую функцию базового класса”.
class Base(object):
    def __init__(self):
        self.initialize()
        self.final_method()
    def initialize(self):
        pass
    def final_method(self):
         print "This is base final method"
class Subclass(Base):
    def initialize(self):
        print "WOW! This is __init__ of Subclass"
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB