Main Content

カスタム表示での関数 size の役割

size の使用方法

カスタム表示を作成するプロセスにおいて、CustomDisplay メソッドはいくつかの時点で関数 size を呼び出します。

  • disp は、どの状態ハンドラー メソッドを起動するかを決定するために size を呼び出します。

  • 既定の getHeader メソッドは size を呼び出して、スカラーと非スカラーのいずれのヘッダーを表示するかを決定します。

  • 既定の displayPropertyGroups メソッドは size を呼び出して、プロパティ グループがプロパティ名の cell 配列であるときに、プロパティ値を検索するかどうかを決定します。既定では、プロパティ値はスカラー オブジェクトのみで表示されます。

size をオーバーロードする際の注意事項

ユーザー クラスが関数 size をオーバーロードする場合、MATLAB® はオーバーロード バージョンを呼び出します。size の実装が、クラスのオブジェクトを表示する方法と必ず整合性をもつようにしなければなりません。

size の実装が通常とは異なる場合や不適切な場合、目的と異なる表示動作につながる可能性があります。たとえば、あるクラスが size をオーバーロードし、実際にはスカラーでないオブジェクトをスカラーとしてレポートするとします。このクラスでは、文字列の cell 配列からなるプロパティ リストが、表示される配列の最初のオブジェクトのプロパティ値となります。この動作は、配列内のすべてのオブジェクトが同一のプロパティ値をもつという印象を与える可能性があります。

ただし、実際には空であるオブジェクトをスカラーとしてレポートすると、そのオブジェクトは空のオブジェクト配列として表示されます。CustomDisplay インターフェイスの既定のメソッドは常に、プロパティ値にアクセスする前に、入力が空の配列であるかどうかを判定します。

CustomDisplay メソッドをオーバーライドしてカスタムのオブジェクト表示を実装する際は、size メソッドのオーバーロードが結果にどう影響するかを考慮してください。

関連するトピック