Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

meta.method クラス

パッケージ: meta
スーパークラス: meta.MetaData

クラス メソッドについての情報

説明

meta.method クラスは、MATLAB® のクラス メソッドについての情報を提供します。meta.method クラスのプロパティは、クラス定義で構文的に指定されているメソッド属性とその他の情報に対応します。プロパティはすべて読み取り専用です。

meta.method クラスは handle クラスです。

クラスの属性

抽象型
true
ConstructOnLoad
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

meta.method オブジェクトを直接インスタンス化することはできません。meta.method オブジェクトを meta.class MethodList プロパティから取得します。このプロパティには、meta.method オブジェクトの配列が含まれます。各クラス メソッドに対して 1 つのオブジェクトが対応します。

たとえば、次のコードでは ClassName をクエリするメソッドのクラスの名前に置き換えます。

mco = ?ClassName;
mlist = mco.MethodList;
mlist(1).Name; % name of first method in the list

クラス インスタンスから meta.class オブジェクトを取得するには、関数 metaclass を使用します。

mco = metaclass(obj);

プロパティ

すべて展開する

メソッド名。文字ベクトルとして返されます。

データ型: char

現在はコメントからのクラスについての情報の収集は使用されていません。

データ型: char | string

現在はコメントからのクラスについての情報の収集は使用されていません。

データ型: char | string

Access 属性は、どのコードがこのメソッドを呼び出す権限をもつかを制御します。

  • public — アクセス制限なし

  • protected — クラスまたはサブクラスのメソッドからのアクセス

  • private — (サブクラスからではなく) クラス メソッドのみによるアクセス

  • このメソッドへのアクセスをもつクラスのリスト。次の形式の meta.class オブジェクトとして指定します。

    • 単一の meta.class オブジェクト

    • meta.class オブジェクトの cell 配列。空の cell 配列 {}private アクセスと同じです。

例: method (Access = private)

データ型: enumerated

メソッドが静的か。logical true または false として返されます。true の場合、メソッドはクラスのオブジェクトに依存せず、入力としてオブジェクトを必要としません。オブジェクトの代わりにクラス名を使用して静的メソッドを呼び出します。

classname.methodname()

または、他のメソッドのようにクラスのインスタンスを使用して呼び出します。

o.methodname()

静的メソッドを参照してください。

例: method (Static)

データ型: logical

メソッドが抽象か。logical true または false で返されます。true の場合、メソッドは実装されませんが、引数を含めることができる構文行があります。サブクラスは、抽象メソッドのシグネチャに従ってメソッドを実装します。

  • このメソッドは、function または end キーワードを含みません。関数構文 (たとえば、[a,b] = myMethod(x,y)) のみを含みます。

  • サブクラスは、同数の入力引数と出力引数を定義する必要はありません。ただし、構文には、実装が想定されるサブクラスが示されます。

  • メソッドは、構文行の後にコメントをもつことができます。

例: method (Abstract)

データ型: logical

メソッドがオーバーライド可能か。logical true または false で返されます。true の場合、このメソッドはサブクラス内で再定義できません。サブクラス内で同じ名前のメソッドを定義しようとすると、エラーになります。

例: method (Sealed)

データ型: logical

メソッドが非表示か。logical true または false として返されます。false の場合、methods または methodsview コマンドを使用して表示されるメソッドのリストにメソッドの名前が表示されます。true に設定した場合は、メソッドの名前はリストや、コマンド ウィンドウでオブジェクトを表示する場合に含まれません。

データ型: logical

関数シグネチャで使用される入力引数の名前。文字ベクトルまたは文字ベクトルの cell 配列として返されます。

データ型: char | cell

関数シグネチャで使用される出力引数の名前。文字ベクトルまたは文字ベクトルの cell 配列として返されます。

データ型: char | cell

このメソッドを定義しているクラス。定義しているクラスを表す meta.class オブジェクトとして返されます。定義しているクラスは、meta.method オブジェクトから見ると、常に最も特定的なクラスです。したがって、サブクラスが継承されたメソッドをオーバーライドする場合、サブクラス meta.method オブジェクトを定義しているクラスはサブクラスです。同様に、スーパークラス meta.method オブジェクトを定義しているクラスはスーパークラスです。

データ型: meta.class

すべて折りたたむ

meta.method データを使用して matlab.mixin.Copyable クラスの copy メソッドについての情報を取得します。

mc =?matlab.mixin.Copyable;
copyInfo = findobj(mc.MethodList,"Name","copy")
copyInfo = 

  method with properties:

                   Name: 'copy'
            Description: ''
    DetailedDescription: ''
                 Access: 'public'
                 Static: 0
               Abstract: 0
                 Sealed: 1
                 Hidden: 0
             InputNames: {'rhs1'}
            OutputNames: {'lhs1'}
          DefiningClass: [1×1 meta.class]
R2008a で導入