Свойство методы 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 класс. Набор или добирается, метод не называется при копировании значений свойств от одного объекта до другого.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте