カスタム表示での関数 size
の役割
size の使用方法
カスタム表示を作成するプロセスにおいて、CustomDisplay
メソッドはいくつかの時点で関数 size
を呼び出します。
disp
は、どの状態ハンドラー メソッドを起動するかを決定するためにsize
を呼び出します。既定の
getHeader
メソッドはsize
を呼び出して、スカラーと非スカラーのいずれのヘッダーを表示するかを決定します。既定の
displayPropertyGroups
メソッドはsize
を呼び出して、プロパティ グループがプロパティ名の cell 配列であるときに、プロパティ値を検索するかどうかを決定します。既定では、プロパティ値はスカラー オブジェクトのみで表示されます。
size
をオーバーロードする際の注意事項
ユーザー クラスが関数 size
をオーバーロードする場合、MATLAB® はオーバーロード バージョンを呼び出します。size
の実装が、クラスのオブジェクトを表示する方法と必ず整合性をもつようにしなければなりません。
size
の実装が通常とは異なる場合や不適切な場合、目的と異なる表示動作につながる可能性があります。たとえば、あるクラスが size
をオーバーロードし、実際にはスカラーでないオブジェクトをスカラーとしてレポートするとします。このクラスでは、文字列の cell 配列からなるプロパティ リストが、表示される配列の最初のオブジェクトのプロパティ値となります。この動作は、配列内のすべてのオブジェクトが同一のプロパティ値をもつという印象を与える可能性があります。
ただし、実際には空であるオブジェクトをスカラーとしてレポートすると、そのオブジェクトは空のオブジェクト配列として表示されます。CustomDisplay
インターフェイスの既定のメソッドは常に、プロパティ値にアクセスする前に、入力が空の配列であるかどうかを判定します。
CustomDisplay
メソッドをオーバーライドしてカスタムのオブジェクト表示を実装する際は、size メソッドのオーバーロードが結果にどう影響するかを考慮してください。