我是靠谱客的博主 欣喜保温杯,最近开发中收集的这篇文章主要介绍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 事件与响应所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部