我是靠谱客的博主 欣喜保温杯,这篇文章主要介绍Matlab 事件与响应,现在分享给大家,希望可以做个参考。

事件与响应

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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部