Обычные методы задают функции, которые работают с объектами класса. Поэтому один из входных параметров должен быть объектом или массивом объектов класса определения. Эти методы могут вычислить значения на основе данных объектов, могут перегрузить встроенные функции MATLAB® и могут вызвать другие методы и функции. Обычные методы могут возвратить измененные объекты.
Этот пример показывает определение метода (
) в блоках methodName
methods
и classdef
:
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
Для получения дополнительной информации о папках класса смотрите, что Папки Содержат Определения классов.