Обычные методы

Обычные методы работают с объектами

Обычные методы задают функции, которые работают с объектами класса. Поэтому один из входных параметров должен быть объектом или массивом объектов класса определения. Эти методы могут вычислить значения на основе данных объектов, может перегрузить MATLAB® встроенные функции, и могут вызвать другие методы и функции. Обычные методы могут возвратить измененные объекты.

Методы Внутри classdef Блок

Этот пример показывает определение метода (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 папка)

Для получения дополнительной информации о папках класса смотрите, что Папки Содержат Определения классов.

Похожие темы