当前位置: 首页 > news >正文

Matlab中的handle 类

目录

说明

类属性

方法

公共方法

事件

示例

从 handle 派生类


说明

​        handle 类是遵守句柄语义的所有类的超类。句柄是引用 handle 类的对象的变量。多个变量可以引用同一个对象。

        handle 类是抽象类,这样无法直接创建该类的实例。使用 handle 类派生其他类,可以是其实例为句柄对象的具体类。

        要定义 handle 类,请使用以下 classdef 代码中的语法从 handle 派生类。

classdef MyHandleClass < handle...
end

        从 handle 类派生使子类能够:

  • ​继承多个有用的方法 (Handle Class Methods)​

  • ​定义事件和侦听程序 (事件和侦听程序语法)​

  • ​定义动态属性 (动态属性 - 向实例添加属性)​

  • ​实现 set 和 get 方法 (为属性实现 set/get 接口)​

  • ​自定义复制行为 (Implement Copy for Handle Classes)

类属性

Abstract

true

ConstructOnLoad

true

HandleCompatible

true

方法

公共方法

addisteneradd创建绑定到事件源的事件侦听程序
listener创建未绑定到事件源的事件侦听程序
notify通知侦听程序事件正在发生
findobj查找句柄对象
findprop查找 meta.property 对象
delete删除句柄对象
isvalid确定有效句柄
relationaloperators确定相等性或排序句柄对象
empty创建指定类的空数组

事件

事件名称触发器事件数据事件属性
ObjectBeingDestroyed

​在句柄对象即将销毁但在调用 delete 方法之前触发。

eventEventData

NotifyAccess: private

ListenAccess: public

示例

从 handle 派生类

        MySubclass 类派生自 handle 类。属性 set 方法不返回传递给该方法的对象,而值类有此要求:

classdef MySubclass < handlepropertiesClient tcpclientendmethodsfunction set.Client(obj,c)if isa(c,'tcpclient')obj.Client = c;endendend
end

        创建 MySubclass 的对象,并将 tcpclient 对象分配给 Client 属性。

t = MySubclass;
t.Client = tcpclient('www.mathworks.com', 80);

句柄对象复制行为

        复制句柄对象不会复制与该对象关联的基础数据。副本是引用同一对象的另一个句柄。因此,如果函数修改以输入参数形式传递的句柄对象,则该修改操作会影响调用方工作区中的原始输入对象。

        与此相反,非句柄对象(即值对象)将数据与特定变量相关联。函数必须返回修改的值对象,以便在此函数的工作区外部更改对象。

销毁句柄对象
        当不存在对句柄对象的引用时,MATLAB® 会销毁该对象。可以显式移除句柄对象,只需调用其 delete 方法即可。handle 类可以让您控制销毁句柄对象时的情况,可以是在不存在任何引用时隐式销毁,或者删除该对象时显式销毁。

​为 ObjectBeingDestroyed 事件创建侦听程序

        任何代码都可以通过为句柄对象的 ObjectBeingDestroyed 事件定义侦听程序来响应该对象的待定删除操作。MATLAB 会在调用该对象的 delete 方法之前触发此事件。

http://www.lryc.cn/news/173282.html

相关文章:

  • C#,数值计算——Multinormaldev的计算方法与源程序
  • 软件项目测试用例评审
  • 图像处理与计算机视觉--第二章-成像与图像表示-8问
  • python中使用多线程批量导入包
  • 齿轮减速机设备类网站pbootcms模板(PC端+手机端自适应)
  • MySQL报错:this is incompatible with sql_mode=only_full_group_by 解决方法
  • impala常用时间函数,date->string->timestamp互转
  • 无源供电无线测温系统的应用意义
  • 使用 PyTorch 的计算机视觉简介 (1/6)
  • 用PHP实现极验验证功能
  • 【数据结构初阶】三、 线性表里的链表(无头+单向+非循环链表)
  • Mybatis 映射器与XML配置职责分离
  • 微服务引擎
  • 前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(三)
  • 搭建部署属于自己的基于gpt3.5的大语言模型(基于flask+html+css+js+mysql实现)
  • AI创作专家,免费的AI创作专家工具
  • Nginx之gzip模块解读
  • 微软在Windows 11推出Copilot,将DALL-E 3集成在Bing!
  • SLAM从入门到精通(消息传递)
  • 思科路由器:NAT的基础配置
  • 动态代理。
  • Learn Prompt-GPT-4:能力
  • iOS——ViewController的生命周期
  • SkyWalking内置参数与方法
  • 【C++面向对象侯捷】12.虚函数与多态 | 13.委托相关设计【设计模式 经典做法,类与类之间关联起来,太妙了,不断的想,不断的写代码】
  • 基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(五)
  • hive数据初始化
  • React+Node——next.js 构建前后端项目
  • CRM系统主要包括哪些功能?
  • Nginx location 精准匹配URL = /