exponenta event banner

matlab.Конструктор системы

Создание системного объекта с помощью Name,Value пары или вводы только значения

Описание

function obj = ObjectName(varargin) конструирует ObjectName Система object™ и устанавливает свойства из входных значений пары имя-значение.

Конструктор объекта System является открытым методом в файле класса. Имя метода соответствует имени класса. При создании объекта System конструктор вызывается для инициализации свойств по умолчанию. Конструктор возвращает новый объект System.

Тело конструктора

Внутри конструктора вызовите setProperties с использованием одного из синтаксисов в таблице.

Входные аргументыТело конструктораПример
Name,Value парыsetProperties(obj, nargin, varargin{:})Конструктор для пар «имя-значение»
Name,Value пары и аргументы только значенияsetProperties(obj, nargin, varargin{:}, 'Prop1', ..., 'PropN')Конструктор для свойства «Только значение»

При вызове объекта System свойства задаются как пары, разделенные запятыми Name,Value аргументы или, если указано, Value-единственные аргументы. Name - имя свойства и Value - соответствующее значение. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Аргументы только значения полезны для свойств, для которых часто задаются значения, отличные от значений по умолчанию. Например, для системных объектов, считывающих файл, часто требуется сбросить свойство имени файла.

Совет: В теле конструктора не присваивайте значения свойств. Эта практика может вызвать проблемы при использовании объекта System в нескольких средах (например, в системном блоке, в сценарии MATLAB и в сгенерированном коде). Вместо этого используйте значения свойств по умолчанию или измените значения внутри setupImpl.

Примеры

развернуть все

Определите конструктор объекта System, который допускает входные аргументы пары имя-значение.

Определите конструктор для входов пар имя-значение.

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 со свойством ввода «только значение».

Определение конструктора с помощью '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);

См. также

| | |

Представлен в R2010a