主要内容

处理兼容的类

基本知识

在这一节中给出的材料基于以下信息的知识。

关键概念

Handle-compatible类——一个类,您可以使用处理类包含在类层次结构,即使类不是一个处理类。

  • 所有handle-compatible处理类。

  • 所有handle-compatible类的超类也必须处理兼容。

HandleCompatible——定义了nonhandle类的类属性处理兼容。

何时使用Handle-Compatible类

通常,当派生一个MATLAB®类与其他类,父类是处理类,或他们都没有处理类。然而,有些情况下,一个类提供了一些实用程序,用于处理和nonhandle子类。因为它不是法律结合处理和nonhandle类、工具类的作者必须实现两个不同版本的实用工具。

解决方案是使用handle-compatible类。您可以使用handle-compatible类与处理类时形成的超类。指定一个类处理兼容使用HandleCompatible类属性。

classdef(HandleCompatible) MyClass结束

处理兼容性规则

Handle-compatible类(类的HandleCompatible属性设置为真正的)遵循以下规则:

  • 所有handle-compatible类的超类也必须处理兼容

  • 如果一个类显式地设置它HandleCompatibility属性来,那么没有一个可以处理类类的超类。

  • 如果一个类没有显式地设置它HandleCompatible任何父类属性,如果是一个句柄,然后所有父类必须处理兼容。

  • HandleCompatible属性不是遗传的。

一个并不显式地设置它的类HandleCompatible属性来真正的是:

  • 一个句柄类如果它的任何超类是处理类

  • 一个值类如果没有一个超类是处理类

识别处理对象

可以确定一个对象是一个处理对象,使用isa功能:

isa (obj,“处理”)

相关的话题