Обычные методы определяют функции, которые работают с объектами класса. Поэтому одним из входных параметров должен быть объект или массив объектов определяющего класса. Эти методы могут вычислять значения на основе данных объекта, могут перегрузить MATLAB® встроенные функции и могут вызывать другие методы и функции. Обычные методы могут возвращать измененные объекты.
Этот пример показывает определение метода (
) в пределах methodName
classdef
и methods
блоки:
classdef ClassName methods (AttributeName = value,...) function methodName(obj,args) % method code ... end ... end % end of method block ... end
Атрибуты метода применяются только к тому конкретному блоку методов, который завершается end
оператор.
Примечание
Нестатические методы должны включать явную переменную объекта в качестве аргумента функции. Язык MATLAB не поддерживает неявную ссылку в определении функции метода.
The addData
метод добавляет значение в Data
свойство MyData
объекты. mustBeNumeric
функция ограничивает значение Data
свойство числовым значениям. Свойство имеет значение по умолчанию 0
.
The 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
Дополнительные сведения о папках классов см. в разделе Папки, содержащие определения классов.