Main Content

異種混合配列表示のカスタマイズ

非スカラーの異種混合配列に対しては、シールされたメソッドのみを呼び出すことができます。異種混合階層の一部をなすクラスをカスタマイズする場合、CustomDisplay インターフェイスを構成するすべてのメソッドをオーバーライドし、Sealed として宣言しなければなりません。

matlab.mixin.CustomDisplay から継承される dispdisplay のバージョンはシールされています。しかし、これらのメソッドは、パーツ ビルダー メソッド(パーツ ビルダー メソッド) と状態ハンドラー メソッド (状態ハンドラー メソッド) のすべてを呼び出します。

CustomDisplay インターフェイスを使用するために、異種混合階層のルート クラスでこれらのメソッドを Sealed かつ Access = protected として宣言できます。

特定のメソッドをオーバーライドする必要がない場合は、以下のコードで示すようにスーパークラス メソッドを呼び出します。

たとえば、以下のコードでは、getPropertyGroupsdisplayScalarObject を変更し、他のすべてでスーパークラスの実装を使用することが示されています。

classdef RootClass < matlab.mixin.CustomDisplay & matlab.mixin.Heterogeneous
   %...
   methods (Sealed, Access = protected)
      function header = getHeader(obj)
         header = getHeader@matlab.mixin.CustomDisplay(obj);
      end
 
      function groups = getPropertyGroups(obj)
         % Override of this method
         % ...
      end
 
      function footer = getFooter(obj)
         footer = getFooter@matlab.mixin.CustomDisplay(obj);
      end
 
      function displayNonScalarObject(obj)
         displayNonScalarObject@matlab.mixin.CustomDisplay(obj);
      end
 
      function displayScalarObject(obj)
         % Override of this method
         % ...
      end

      function displayEmptyObject(obj)
         displayEmptyObject@matlab.mixin.CustomDisplay(obj);
      end

      function displayScalarHandleToDeletedObject(obj)
         displayScalarHandleToDeletedObject@matlab.mixin.CustomDisplay(obj);
      end
   end
end

継承された静的メソッドを Sealed として宣言する必要はありません。

関連するトピック