Main Content

既定のオブジェクト表示をもつクラス

EmployeeInfo クラス

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 を使用します。

既定の表示 — 非スカラー

オブジェクト配列の既定の表示では、プロパティ値は表示されません。たとえば、2 つの EmployeeInfo オブジェクトを連結すると、以下の表示が生成されます。

>>[Emp123,Emp124]
ans

  1x2 EmployeeInfo array with properties:

    Name
    JobTitle
    Department
    Salary
    Password

非スカラー オブジェクトのテスト

非スカラー オブジェクトをテストするには、isscalar の否定呼び出しを使用します。

既定の表示 — 空のオブジェクト配列

空のオブジェクト配列には、値 0 の次元が少なくとも 1 つあります。

>> 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

関連するトピック