Main Content

サブクラスの構文

サブクラス定義の構文

他のクラスのサブクラスとしてクラスを定義するには、以下のように classdef 行の < の後にスーパークラスを追加します。

classdef ClassName < SuperClass

複数のクラスから継承する場合は、以下のように & を使用してスーパークラスの組み合わせを示します。

classdef ClassName < SuperClass1 & SuperClass2

複数のスーパークラスからの派生の詳細は、クラス メンバーの互換性を参照してください。

クラスの属性

サブクラスは、スーパークラスの属性を継承しません。

double のサブクラス化

double から派生するクラスを定義し、値を正の数値に制限するとします。PositiveDouble クラスは、以下のようになります。

classdef PositiveDouble < double
   methods
      function obj = PositiveDouble(data)
         if nargin == 0
            data = 1;
         else
            mustBePositive(data)
         end
         obj = obj@double(data);
      end
   end
end

1 行 5 列の数値配列を使用して PositiveDouble クラスのオブジェクトを作成します。

a = PositiveDouble(1:5);

任意の double のようにこのクラスのオブジェクトに対して操作を実行できます。

sum(a)
ans =

    15

PositiveDouble クラスのオブジェクトは正の値でなければなりません。

a = PositiveDouble(0:5);
Error using mustBePositive (line 19)
Value must be positive.

Error in PositiveDouble (line 7)
            mustBePositive(data)

関連するトピック