概述
事件与响应
matlab关于事件与响应,一个重要的作用是:监控实例的内部数据的变化(事件),并根据变化做出必要的回应(响应)。存在两种不同角色:发布者(Publisher)和观察者(Observer);
一个完整的事件与响应,应该包括以下部分:
- 定义事件:在指定类中定义事件的名称;
- 触发事件:定义触发事件的函数或方法;
- 监听事件:触发事件后,监听对象调用回调函数做出响应;
回调函数中可以对发布者的数据进行处理。
% 发布者定义事件+定义触发事件
classdef Publisher < handle
properties
x=0;
end
events% 定义事件
xChanged
end
methods
% 定义触发事件
function setX(obj,newVal)
if obj.x ~= newVal
obj.x = newVal;
notify(obj,'xChanged');
end
end
end
end
% 观察者定义监听事件和回调函数
classdef Observer < handle
methods %指定需要监听的对象
function subscribe(obj,publisher)
addlistener(publisher,'xChanged',@Observer.callbackFunc);
end
end
methods(Static)
function callbackFunc(src,data)
disp('value of x:',num2str(src.x));
end
end
end
% 主函数脚本
publisher = Publisher();
observer = Observer();
observer.subscribe(publisher);
% 改变x的值
publisher.setX(10);
几个重要的函数
notify(srcObject,eventName)
srcObject
:指定当前触发的对象;eventName
:指定当前事件的名称;
addlistener(srcPublisher,EventName,callbackFunc)
srcPublisher
:指定需要监听的对象;eventName
:指定当前事件的名称,与notify
中的eventName
对应;callbackFunc
:指定回调函数;
最后
以上就是欣喜保温杯为你收集整理的Matlab 事件与响应的全部内容,希望文章能够帮你解决Matlab 事件与响应所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复