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