Main Content

既定値によるバージョン互換性の改善

バージョン互換性

既定のプロパティ値により、保存されたオブジェクトに対してバージョンの互換性を実装することができます。たとえば、バージョン 2 のユーザー クラスにプロパティを追加するとします。既定値があることによって、MATLAB® はバージョン 1 のオブジェクトを読み込むときに新しいプロパティに値を代入できます。

同様に、バージョン 2 のクラスでプロパティが削除されるとします。保存されたバージョン 2 のオブジェクトをバージョン 1 に読み込む場合、loadobj メソッドはバージョン 1 の既定値を使用できます。

既定のプロパティ値の使用

EmployeeInfo クラスで、プロパティの既定値をバージョン間の互換性を高める方法として使用する方法を示します。バージョン 1 の EmployeeInfo クラスでは、NameJobTitleDepartment という 3 つのプロパティが定義されています。

classdef EmployeeInfo
   properties
      Name
      JobTitle
      Department
   end
end

バージョン 2 の EmployeeInfo クラスでは、従業員の所在する国名を示すプロパティ Country が追加されています。Country プロパティには既定値 'USA' が定義されています。

classdef EmployeeInfo
   properties
      Name
      JobTitle
      Department
      Country = 'USA'
   end
end

文字配列 'USA' は、以下の理由から適切な既定値であるといえます。

  • MATLAB は、クラスで定義された既定値をもたないプロパティに空の double [] を代入します。空の double は Country プロパティの有効な値ではありません。

  • バージョン 1 では、すべての従業員が米国にいます。したがって、バージョン 2 に読み込まれるどのバージョン 1 オブジェクトにも、Country プロパティの有効な値が付与されます。

関連するトピック