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