exponenta event banner

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

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

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

Дополнительные сведения о папках классов см. в разделе Папки, содержащие определения классов.

Связанные темы