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