matlab.mixin.Heterogeneous.getDefaultScalarElement
クラス: matlab.mixin.Heterogeneous
名前空間: matlab.mixin
異種混合配列演算に対する既定のオブジェクトを返す
構文
defaultObject = getDefaultScalarElement
説明
は、異種混合階層の既定のオブジェクトを返します。defaultObject
= getDefaultScalarElementmatlab.mixin.Heterogeneous
クラスから継承された getDefaultScalarElement
の実装は、"ルート クラス" のインスタンスを返します。ルート クラスは、異種混合階層内の matlab.mixin.Heterogeneous
の直接サブクラスです。
ルート クラスが抽象である場合、または異種混合階層のクラスでルート クラスが適切な既定のオブジェクトではない場合、既定のオブジェクトを返すには、ルート クラスで getDefaultScalarElement
をオーバーライドする必要があります。getDefaultScalarElement
は、異種混合階層の他のメンバーのスカラー インスタンスを返さなければなりません。
MATLAB® は getDefaultScalarElement
メソッドを呼び出して異種混合配列のギャップを埋めます。詳細については、既定のオブジェクトの定義を参照してください。
出力引数
例
この例では、抽象クラスであるために既定のオブジェクトに使用できないルート クラス (FinancialObjects
) をもつ異種混合階層について説明します。
FinancialObjects
クラス定義には、既定のオブジェクトとして Assets
クラスのインスタンスを返す getDefaultScalarElement
メソッドのオーバーライドが含まれます。
classdef FinancialObjects < matlab.mixin.Heterogeneous methods (Abstract) val = determineCurrentValue(obj) end methods (Static,Sealed,Access=protected) function default_object = getDefaultScalarElement default_object = Assets; end end end
ヒント
ルート クラスが既定のオブジェクトとして適切でない場合にのみ、
getDefaultScalarElement
をオーバーライドします。異種混合階層のルート クラスでのみ、
getDefaultScalarElement
をオーバーライドします。getDefaultScalarElement
はスカラー オブジェクトを返さなければなりません。getDefaultScalarElement
はアクセスが保護されている静的メソッドでなければなりません。MATLAB では必要ありませんが、このメソッドをシールして他のクラスによるオーバーライドを防ぐことができます。MATLAB は、
getDefaultScalarElement
によって返された値がスカラーでないか、階層の有効なメンバーであるクラスのインスタンスでない場合、エラーを返します。
バージョン履歴
R2011b で導入