The EmployeeInfo класс задает ряд свойств для хранения информации о сотрудниках компании. Этот простой класс служит примером класса, используемого в классах выборок индивидуальной настройки отображения.
EmployeeInfo выводится из matlab.mixin.CustomDisplay Класс для индивидуальной настройки отображения объекта.
EmployeeInfo также является классом handle. Поэтому образцы этого класса могут быть в состоянии, называемом указателем на удаленный объект. Это состояние не происходит с классами значений (классами, не выведенными из handle).
classdef EmployeeInfo < handle & matlab.mixin.CustomDisplay properties Name JobTitle Department Salary Password end methods function obj = EmployeeInfo obj.Name = input('Name: '); obj.JobTitle = input('Job Title: '); obj.Department = input('Department: '); obj.Salary = input('Salary: '); obj.Password = input('Password: '); end end end
The matlab.mixin.CustomDisplay является совместимым с указателем. Поэтому суперклассы могут быть классами handle или value.
Вот создание и отображение скалярного EmployeeInfo объект. По умолчанию MATLAB® отображает свойства и их значения для скалярных объектов.
Предоставьте входы для конструктора:
>>Emp123 = EmployeeInfo; Name: 'Bill Tork' Job Title: 'Software Engineer' Department: 'Product Development' Salary: 1000 Password: 'bill123'
Отобразите объект:
>>Emp123
Emp123 =
EmployeeInfo with properties:
Name: 'Bill Tork'
JobTitle: 'Software Engineer'
Department: 'Product Development'
Salary: 1000
Password: 'bill123'Чтобы протестировать на скалярные объекты, используйте isscalar.
Отображение по умолчанию для массива объектов не показывает значения свойств. Для примера сцепление двух EmployeeInfo объекты генерируют это отображение:
>>[Emp123,Emp124]
ans
1x2 EmployeeInfo array with properties:
Name
JobTitle
Department
Salary
PasswordЧтобы протестировать нескалярные объекты, используйте отрицательный вызов для isscalar .
Пустой объектный массив имеет, по крайней мере, одну размерность, равное нулю.
>> Empt = EmployeeInfo.empty(0,5)
Empt =
0x5 EmployeeInfo array with properties:
Name
JobTitle
Department
Salary
PasswordИспользовать isempty для тестирования на пустые объектные массивы. Пустого объектного массива не скаляром, потому что его размерности никогда не могут быть 1 на 1.
>> emt = EmployeeInfo.empty
emt =
0x0 EmployeeInfo array with properties:
Name
JobTitle
Department
Salary
Password
>> isscalar(emt)
ans =
0Когда указатель объекта удаляется, указатели переменной могут остаться в рабочей области.
>> delete(Emp123) >> Emp123 Emp123 = handle to deleted EmployeeInfo
Чтобы протестировать указатель на удаленный объект, используйте isvalid.
Примечание
isvalid является методом класса handle. Вызывающие isvalid на объекте класса значения возникает ошибка.
Метод details не поддерживает индивидуальную настройку и всегда возвращает стандартное детальное отображение:
details(Emp123) EmployeeInfo handle with properties: Name: 'Bill Tork' JobTitle: 'Software Engineer' Department: 'Product Development' Salary: 1000 Password: 'bill123' Methods, Events, Superclasses