The 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)
Класс handle перегружает эти функции, чтобы поддержать тесты равенства и сортировку по указателям. Для каждой пары входа массивов эти функции возвращают логический массив одинакового размера. Каждый элемент является поэлементным результатом тестирования на равенство или сравнение. Входные массивы должны быть одинакового размера или один (или оба) могут быть скалярными. Способ выполняет скалярное расширение по мере необходимости. Для получения дополнительной информации о реляционных методах классов handle, смотрите relationaloperators
.
Используйте isvalid
handle
метод class, чтобы определить, является ли переменная допустимым объектом указатель. Для примера в заявлении:
B = isvalid(H)
B
является логическим массивом, в котором каждый элемент true
если и только если соответствующий элемент H
является допустимым указателем. B
всегда совпадает с размером H
.
MATLAB уничтожает объекты в рабочей области функции, когда функция:
Переназначение переменной объекта новому значению
Не использует переменную объекта для оставшейся части функции
Выполнение функции заканчивается
Когда MATLAB уничтожает объект, он также уничтожает значения, сохраненные в свойствах объекта. MATLAB освобождает память компьютера, связанную с объектом, для использования MATLAB или операционной системой.
Вам не нужно освобождать память в классах handle. Однако могут быть другие операции, которые вы хотите выполнить при уничтожении объекта. Например, закрытие файла или завершение работы внешней программы, которую запустил конструктор объекта. Задайте delete
метод в подклассе указателя для этих целей.
Для получения дополнительной информации см. Класс Handle Drestructor.