Свойство методы get

Обзор Методов доступа к свойствам

Для обзора методов доступа свойства см. Методы доступа к свойствам.

Свойство синтаксис метода get

Вызовы MATLAB® свойство получает метод каждый раз, когда значение свойства запрошено.

Примечание

Вы не можете вызвать методы доступа свойства непосредственно. MATLAB вызывает эти методы когда вы доступ к значениям свойств.

Свойство добирается, методы имеют следующий синтаксис, где PropertyName является именем свойства. Функция должна возвратить значение свойства.

methods 
   function value = get.PropertyName(obj)
      ...
end

Вычисление значения для зависимого свойства

Класс SquareArea задает зависимое свойство Area. MATLAB не хранит значение для зависимого свойства Area. То, когда вы запрашиваете значение свойства Area, MATLAB вызывает метод get.Area, вычисляет значение на основе свойств Width и Height.

classdef SquareArea
   properties
      Width
      Height
   end
   properties (Dependent)
      Area
   end
   methods
      function a = get.Area(obj)
         a = obj.Width * obj.Height;
      end
   end
end

Ошибки, не возвращенные в метод get

Отображение объекта значения по умолчанию MATLAB подавляет сообщения об ошибке, возвращенные в свойство, получают методы. MATLAB не позволяет ошибку, выпущенную свойством, заставляют метод предотвращать отображение целого объекта.

Используйте метод набора свойств, чтобы подтвердить значение свойства. Проверка значения при установке свойства гарантирует, что объект находится в допустимом состоянии. Использование свойство заставляет метод только возвращать значение, которое подтвердил метод установки.

Поведение метода get

MATLAB НЕ вызывает свойство, получают методы в следующих случаях:

  • Получение значения свойства из его собственного свойства получает метод, который предотвращает рекурсивный вызов получить метода

  • Копирование объекта значения (то есть, не выведенный от класса handle). Ни один набор или получает метод, не называется при копировании значений свойств от одного объекта до другого.

Похожие темы