exponenta event banner

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

Класс EmployeyInfo

EmployeeInfo класс определяет ряд свойств для хранения информации о сотрудниках компании. Этот простой класс служит примером класса, используемого в классах образцов настройки отображения.

EmployeeInfo происходит от matlab.mixin.CustomDisplay для включения настройки отображения объекта.

EmployeeInfo также является классом дескриптора. Поэтому экземпляры этого класса могут находиться в состоянии, называемом дескриптором удаленного объекта. Это состояние не встречается с классами значений (классы не являются производными от 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 является методом класса дескриптора. Запрос isvalid для объекта класса значений приводит к ошибке.

Экран по умолчанию - подробный экран

Метод details не поддерживает настройку и всегда возвращает стандартный подробный экран:

details(Emp123)
 EmployeeInfo handle with properties:

          Name: 'Bill Tork'
      JobTitle: 'Software Engineer'
    Department: 'Product Development'
        Salary: 1000
      Password: 'bill123'

  Methods, Events, Superclasses

Связанные темы