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