Класс с отображением объектов по умолчанию

Класс EmployeeInfo

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

Похожие темы