exponenta event banner

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

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

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

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

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

Примечание

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

Поведение метода получения

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

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

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

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