サブクラスの構文
サブクラス定義の構文
他のクラスのサブクラスとしてクラスを定義するには、以下のように classdef
行の <
の後にスーパークラスを追加します。
classdef ClassName < SuperClass
複数のクラスから継承する場合は、以下のように &
を使用してスーパークラスの組み合わせを示します。
classdef ClassName < SuperClass1 & SuperClass2
複数のスーパークラスからの派生の詳細は、クラス メンバーの互換性を参照してください。
クラスの属性
サブクラスは、スーパークラスの属性を継承しません。
double のサブクラス化
double
から派生するクラスを定義し、値を正の数値に制限するとします。PositiveDouble
クラスは、以下のようになります。
既定のコンストラクターをサポートする (入力引数なし)。入力引数なしでコンストラクターを呼び出す条件を参照してください。
mustBePositive
を使用して入力を正の値に制限する入力値を指定してスーパークラス コンストラクターを呼び出し、double の数値を作成する
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)