Класс 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
matlab.mixin.CustomDisplay
является совместимым указателем. Поэтому суперклассы могут быть или указателем или классами значения.
Вот создание и отображение скалярного объекта 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(Emp123) EmployeeInfo handle with properties: Name: 'Bill Tork' JobTitle: 'Software Engineer' Department: 'Product Development' Salary: 1000 Password: 'bill123' Methods, Events, Superclasses