Методы получения свойств

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

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

Синтаксис метода получения свойств

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

Примечание

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

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

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

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

The 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 только для возврата значения, которое проверил метод set.

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

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

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

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

Похожие темы

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