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

Построение на классе Handle

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 метод класса определить, является ли переменная допустимым объектом указателя. Например, в операторе:

B = isvalid(H)

B логический массив, в котором каждым элементом является true если, и только если, соответствующий элемент H допустимый указатель. B всегда тот же размер как H.

Когда MATLAB уничтожает объекты

MATLAB уничтожает объекты в рабочей области функции когда функция:

  • Повторно присваивает переменную объекта новому значению

  • Не использует переменную объекта в остатке от функции

  • Функциональные концы выполнения

Когда MATLAB уничтожает объект, он также уничтожает значения, сохраненные в свойствах объекта. MATLAB освобождает память компьютера, сопоставленную с объектом для использования MATLAB или операционной системой.

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

См. "Деструктор класса указателей" для получения дополнительной информации.

Похожие темы