Main Content

matlab.mixin.SetGet 类

命名空间: matlab.mixin

通过 set 和 get 方法提供句柄类

描述

使用 matlab.mixin.SetGet 类派生继承 setget 方法接口的类。这些方法提供的功能类似于 setget 函数。

matlab.mixin.SetGet 继承的 setget 方法支持不精确的属性名称匹配。您可以使用部分名称和不区分大小写的名称组合,但前提是不精确的名称不存在多义性。

相反,基于点的属性引用要求属性名称必须精确匹配。要使用 setget 方法实现精确的名称匹配,请使用 matlab.mixin.SetGetExactNames 类。

所有从 matlab.mixin.SetGet 派生的类均为句柄类。

matlab.mixin.SetGet 类是一个 handle 类。

类属性

Abstract
true
HandleCompatible
true

有关类属性的信息,请参阅类属性

方法

全部展开

示例

全部折叠

定义派生自 matlab.mixin.SetGet 的类,它有两个属性

classdef PropSetGet < matlab.mixin.SetGet
    properties
       Number {mustBeNumeric} 
       Str string
    end
end

创建该类的一个实例并使用继承的 set 方法设置属性值。

p = PropSetGet;
set(p,'Number',8)

使用继承的 get 方法获取 Number 属性的值。

get(p,'Number')
ans =

     8

使用 PartialMatchPriority 属性特性为部分名称匹配建立优先级。默认优先级 PartialMatchPriority = 1 是最高优先级。PartialMatchPriority 的值越大,在解决可能具有多义性的不精确属性名称时应用的相对优先级越低。

matlab.mixin.SetGet 派生一个类,并将 DistanceFromSun 属性的优先级设置为较低,以便进行部分名称匹配。

classdef PlanetSize < matlab.mixin.SetGet
    properties
        Diameter
        EarthMass
    end
    properties(PartialMatchPriority = 2)
        DistanceFromSun
    end
end

创建一个对象,并使用部分名称 Di 设置 Diameter 属性。

p = PlanetSize;
set(p,'Di',6792)
disp(p)
  PlanetSize with properties:

           Diameter: 6792
          EarthMass: []
    DistanceFromSun: []

版本历史记录

在 R2014b 中推出