handle класс является абстрактным классом. Поэтому нельзя создавать объекты этого класса напрямую. Используйте handle класс как суперкласс для реализации подклассов, наследующих поведение дескриптора. MATLAB ® определяет несколько классов, которые являются производными от handle класс. Эти классы предоставляют специализированные функциональные возможности подклассам.
Чтобы добавить в класс как поведение дескриптора, так и определенные функциональные возможности, выведите класс из этих handle классы:
matlab.mixin.SetGet - Обеспечивает set и get для доступа к значениям свойств.
dynamicprops - позволяет определить свойства, связанные с объектом, но не с классом в целом.
matlab.mixin.Copyable Предоставляет copy метод, который можно настроить для класса.
Сведения об определении подклассов см. в разделе Конструирование конструкторов подклассов.
При выводе класса из handle класс наследует методы, позволяющие более эффективно работать с объектами-дескрипторами.
Перечисление методов класса путем передачи имени класса methods функция:
methods('handle')Methods for class handle: addlistener findobj gt lt delete findprop isvalid ne eq ge le notify
Для получения информации об использовании notify и addlistener см. раздел Синтаксис событий и прослушивателей.
TF = eq(H1,H2) TF = ne(H1,H2) TF = lt(H1,H2) TF = le(H1,H2) TF = gt(H1,H2) TF = ge(H1,H2)
Класс дескриптора перегружает эти функции для поддержки тестов равенства и сортировки по дескрипторам. Для каждой пары входных массивов эти функции возвращают логический массив одинакового размера. Каждый элемент представляет собой результат теста равенства или сравнения. Входные массивы должны иметь одинаковый размер или один (или оба) могут быть скалярными. При необходимости метод выполняет скалярное расширение. Дополнительные сведения о реляционных методах класса дескрипторов см. в разделе relationaloperators.
Используйте isvalid
handle метод класса, чтобы определить, является ли переменная допустимым объектом дескриптора. Например, в инструкции:
B = isvalid(H)
B является логическим массивом, в котором каждый элемент true если и только если, соответствующий элемент H является допустимым дескриптором. B всегда тот же размер, что и H.
MATLAB уничтожает объекты в рабочей области функции, когда функция:
Переназначение переменной объекта на новое значение
Не использует переменную объекта для остальной части функции
Выполнение функции заканчивается
Когда MATLAB уничтожает объект, он также уничтожает значения, сохраненные в свойствах объекта. MATLAB освобождает память компьютера, связанную с объектом, для использования MATLAB или операционной системой.
Не нужно освобождать память в классах дескрипторов. Однако при уничтожении объекта могут выполняться и другие операции. Например, закрытие файла или завершение работы внешней программы, запущенной конструктором объекта. Определение delete метод в подклассе дескриптора для этих целей.
Дополнительные сведения см. в разделе Деструктор класса дескриптора.