exponenta event banner

События и слушатели

Определение и инициирование событий

Чтобы определить событие, объявите его имя в events блок. Инициируйте событие с помощью handle класс notify способ. Только классы, производные от handle класс может определять события.

Например, MyClass класс:

  • Подклассы handle

  • Определяет событие с именем StateChange

  • Запускает событие с использованием унаследованного notify способ в своем upDateUI способ.

classdef MyClass < handle 
   events 
      StateChange
   end
   ...
   methods
      function upDateUI(obj)
         ...
         notify(obj,'StateChange');
      end
   end
end

Слушать события

Любое количество объектов может прослушивать StateChange событие. Когда notify выполняется, MATLAB ® вызывает все зарегистрированные обратные вызовы прослушивателя. MATLAB передает дескриптор объекта, генерирующего данные события и события, в функции обратного вызова. Для создания прослушивателя используйте addlistener способ handle класс.

addlistener(event_obj,'StateChange',@myCallback)

Для управления жизненным циклом прослушивателя используйте event.listener для создания объекта прослушивателя.

См. также

| |

Связанные темы