ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

列挙型クラスの制限

列挙型クラスには、その使用と定義において次のような一部の制限があります。

  • 列挙型クラスは暗黙的に Sealed されます。列挙型クラスのサブクラスを定義することはできません (それをしてしまうと、セットを拡張してしまうことになるからです)。

  • 値ベースの列挙型クラスのプロパティは不変です。プロパティの値を割り当てられるのはコンストラクターのみです。MATLAB®immutable として値ベースの列挙型クラスによって定義されたすべてのプロパティの SetAccess 属性を暗黙的に定義します。SetAccess 属性を他のいかなる値にも設定できません。

  • Constant として定義されていない値ベースの列挙型クラスによって継承されたすべてのプロパティは、immutable SetAccess をもたなければなりません。

  • ハンドルベースの列挙型クラスのプロパティは変更可能です。列挙型クラスのインスタンスに対してプロパティの値を設定できます。可変ハンドルと不変値の列挙型メンバーを参照してください。

  • 列挙型メンバーは、同じクラスによって定義されたプロパティ、メソッド、またはイベントと同じ名前をもつことはできません。

  • 列挙型はコロン (a:b) 演算をサポートしていません。たとえば、FlowRate.Low:FlowRate.High は、たとえ FlowRate クラスが数値スーパークラスから派生する場合でもエラーとなります。

  • 列挙型を定義するクラスは、同じクラスのプロパティを列挙型に制限することはできません。プロパティ値を列挙型に制限するには、別の列挙型クラスを作成しなければなりません。プロパティ値の制限の詳細については、制限されたプロパティの例を参照してください。

関連するトピック