Main Content

matlab.mixin.Heterogeneous.getDefaultScalarElement

クラス: matlab.mixin.Heterogeneous
名前空間: matlab.mixin

異種混合配列演算に対する既定のオブジェクトを返す

構文

defaultObject = getDefaultScalarElement

説明

defaultObject = getDefaultScalarElement は、異種混合階層の既定のオブジェクトを返します。matlab.mixin.Heterogeneous クラスから継承された getDefaultScalarElement の実装は、"ルート クラス" のインスタンスを返します。ルート クラスは、異種混合階層内の matlab.mixin.Heterogeneous の直接サブクラスです。

ルート クラスが抽象である場合、または異種混合階層のクラスでルート クラスが適切な既定のオブジェクトではない場合、既定のオブジェクトを返すには、ルート クラスで getDefaultScalarElement をオーバーライドする必要があります。getDefaultScalarElement は、異種混合階層の他のメンバーのスカラー インスタンスを返さなければなりません。

MATLAB®getDefaultScalarElement メソッドを呼び出して異種混合配列のギャップを埋めます。詳細については、既定のオブジェクトの定義を参照してください。

出力引数

すべて展開する

異種混合階層の既定のオブジェクト

属性

Statictrue
Accessprotected

メソッドの属性の詳細については、メソッドの属性を参照してください。

この例では、抽象クラスであるために既定のオブジェクトに使用できないルート クラス (FinancialObjects) をもつ異種混合階層について説明します。

Heterogeneous array hierarchy

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 で導入