Main Content

matlab.System 类

System object 的基类

描述

matlab.System 是 System object 的基类。在类定义文件中,您必须从此基类(或另一个派生自此基类的类)子类化您的对象。通过子类化,您可以使用此基类提供的实现方法和服务方法来构建您的对象。键入以下语法作为类定义文件的第一行以直接从 matlab.System 基类继承,其中 ObjectName 是您的对象的名称:

classdef ObjectName < matlab.System

注意

您必须为您的代码中使用的每个 matlab.System 方法设置 Access = protected

matlab.System 类是一个 handle 类。

类属性

Abstract
true
HandleCompatible
true
StrictDefaults
false

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

方法

全部展开

创建对象

描述

示例

function obj = ObjectName(varargin) 构造一个 ObjectName System object™ 并根据名称-值对组输入设置属性。

System object 构造函数是类文件中的公共方法。方法名称与类名称匹配。当您创建 System object 时,将会调用构造函数,将属性初始化为非默认值。构造函数将返回一个新的 System object。

在构造函数内,使用以下语法之一调用 setProperties

示例

setProperties(obj, nargin, varargin{:}) 指定使用名称-值参量设置 System object 的属性。

示例

setProperties(obj, nargin, varargin{:}, Prop1, ..., PropN) 指定使用仅包含值的参量设置 System object 的属性

提示:请勿在构造函数主体内分配属性值。如果在多个环境中使用 System object(例如在 System 模块中、MATLAB 脚本中和生成的代码中),这种做法可能会导致问题。此时应使用默认属性值,或更改 setupImpl 中的值。

示例

全部折叠

此示例说明如何编写名为 AddOne 的基本 System object™。

在 MATLAB® 中,选择新建 > System object > 基本。新编辑器窗口将打开,其中包含新 System object 的默认语法和注释。

将类重命名为 AddOne。修改默认模板,使您的类如下所示:

classdef AddOne < matlab.System
% ADDONE Compute an output value that increments the input by one

    methods (Access = protected)
       % Implement algorithm. Calculate y as a function of input x.
       function y = stepImpl(~,x)
          y = x + 1;
       end    
    end
end

通过创建 AddOne 的实例来使用该对象,并使用输入运行对象。

addingObject = AddOne;
x = 5;
addingObject(x)
ans = 6

定义允许名称-值对组输入参量的 System object 构造函数。

为名称-值对组输入定义构造函数。

function obj = Counter(varargin)
    % Support name-value pair arguments when constructing object
    setProperties(obj,nargin,varargin{:})
end

在此构造函数主体中,使用名称-值对组创建 Counter 对象。

myObj = Counter('StartValue',0,'UseIncrement',true);

定义一个输入属性仅限值的 System object 构造函数。

定义一个包含 'StartValue' 输入的构造函数,输入仅限值。此构造函数还允许名称-值输入。

function obj = Counter(varargin)
    % Support value-only argument for StartValue when instantiating
    setProperties(obj,nargin,varargin{:},'StartValue');
end

在此构造函数主体中,创建一个 Counter 对象,在该对象中对 StartValue 使用仅限值参量,对其他属性使用名称-值对组。

myObj = Counter(0,'UseIncrement',true);

详细信息

全部展开

版本历史记录

在 R2011b 中推出