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