Обычные методы задают функции, которые работают с объектами класса. Поэтому один из входных параметров должен быть объектом или массивом объектов класса определения. Эти методы могут вычислить значения на основе данных объектов, могут перегрузить встроенные функции MATLAB® и могут вызвать другие методы и функции. Обычные методы могут возвратить измененные объекты.
Этот пример показывает определение метода (
) в methodName
classdef
и methods
блоки:
classdef ClassName methods (AttributeName = value,...) function methodName(obj,args) % method code ... end ... end % end of method block ... end
Атрибуты метода применяются только к тому конкретному блоку методов, который отключен end
оператор.
Нестатические методы должны включать явную переменную объекта как аргумент функции. Язык MATLAB не поддерживает неявную ссылку в определении функции метода.
addData
метод добавляет значение в Data
свойство MyData
объекты. mustBeNumeric
функция ограничивает значение Data
свойство к числовым значениям. Свойство имеет значение по умолчанию 0
.
addData
метод возвращает модифицированный объект, который можно повторно присвоить той же переменной.
classdef MyData properties Data {mustBeNumeric} = 0 end methods function obj = addData(obj,val) if isnumeric(val) newData = obj.Data + val; obj.Data = newData; end end end end
a = MyData; a = addData(a,75)
a = MyData with properties: Data: 75
Любой из следующих операторов является правильным синтаксисом для вызова метода, где obj
объект класса, задающего
метод:methodName
obj.methodName(arg) methodName(obj,arg)
Можно задать методы:
В блоке определения класса
В отдельном файле в папке класса (то есть, @
папка)ClassName
Для получения дополнительной информации о папках класса смотрите, что Папки Содержат Определения классов.