У меня есть класс, который определяет частный метод обслуживания synch, который я всегда должен вызывать всякий раз, когда вызывается какой-либо другой метод класса. Классический способ сделать это, конечно, будет:Как неявно вызывать метод при вызове других методов?
def method1 = {
synch
// ... do stuff
}
def method2 = {
synch
// ... do other stuff
}
Однако, есть ли способ, чтобы это делалось неявно, так что я не должен вызывать его явно, как я выше?
EDIT:
Если можно это сделать, это также можно определить, если я хочу, чтобы синхронизирующий метод можно назвать после или перед друг с другом методом?
Спасибо за ответ Алексей! В моем случае было бы достаточно, если бы он работал на простой основе для каждого класса, поэтому нет необходимости рассматривать унаследованный метод. Синхронизация не вызывает других методов, она просто проверяет и обновляет значения некоторых частных переменных-членов. – csvan
@chrsva: См. [Этот ответ] (http://stackoverflow.com/a/19977114/406435) для примера макрокоманд. – senia