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 метод в вашем указателе разделяет на подклассы в этих целях.
См. "Деструктор класса указателей" для получения дополнительной информации.