Суперкласс указателя

Создание на классе Handle

The handle класс является абстрактным классом. Поэтому вы не можете создавать объекты этого класса непосредственно. Используйте handle класс как суперкласс для реализации подклассов, которые наследуют поведение указателя. MATLAB® задает несколько классов, которые получают из handle класс. Эти классы обеспечивают специализированные функциональные возможности подклассов.

Специализированные базовые классы указателей

Чтобы добавить поведение указателя и определенные функциональные возможности к своему классу, выведите свой класс из этих handle классы:

  • matlab.mixin.SetGet - Обеспечивает set и get методы для доступа к значениям свойств.

  • dynamicprops - Позволяет вам задать свойства, которые связаны с объектом, но не с классом в целом.

  • matlab.mixin.Copyable Предоставляет copy метод, который можно настроить для вашего класса.

Дополнительные сведения о том, как задать подклассы, см. в разделе Конструкторы подкласса проекта.

Методы класса Handle

Когда вы выводите класс из 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 освобождает память компьютера, связанную с объектом, для использования MATLAB или операционной системой.

Вам не нужно освобождать память в классах handle. Однако могут быть другие операции, которые вы хотите выполнить при уничтожении объекта. Например, закрытие файла или завершение работы внешней программы, которую запустил конструктор объекта. Задайте delete метод в подклассе указателя для этих целей.

Для получения дополнительной информации см. Класс Handle Drestructor.

Похожие темы