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

Определите и инициируйте события

Чтобы определить событие, объявите имя для события в 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 конструктор, чтобы создать объект прослушивателя.

См. также

| |

Похожие темы