主要内容

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

静的メソッド

静的メソッドとは

静的メソッドはクラスに関連しますが,そのクラスの特定のインスタンスには関連しません。これらのメソッドは入力引数としてクラスのオブジェクトを必要としません。そのため,そのクラスのオブジェクトを作成せずに静的メソッドを呼び出すことができます。

静的メソッドを定義する理由

静的メソッドは,あるコードの実行前にクラスのインスタンスを作成するのが望ましくない場合に役立ちます。たとえば,MATLAB®環境をセットアップしたり,静的メソッドを使用してクラスのインスタンスの作成に必要なデータを計算するとします。

あるクラスが,特定の許容誤差で計算されたπの値を必要とするものとします。このクラスは,クラス内で使用するために,組み込み関数πのクラス独自のものを定義できます。この手法は,クラスの内部動作をカプセル化された状態に保ちますが,クラスのインスタンスが値を返す必要はありません。

静的メソッドの定義

メソッドをスタティックとして定義するには,方法ブロックの静态属性を真正的に設定します。次に例を示します。

classdefMyClass方法(静态)函数P = pi(tol) [n d] =大鼠(pi,tol);p = n / d;结束结束结束

静的メソッドの呼び出し

以下のように,クラスの名前,ドット(),メソッドの名前の順に指定して静的メソッドを起動します。

类名称staticMethodName(args…)

前述の節のMyClassπメソッドを呼び出すときには,次のステートメントが必要です。

值= MyClass.pi(措施);

静的メソッドは,他のメソッドの場合のように,クラスのインスタンスを使用して呼び出すこともできます。

obj = MyClass;值= obj.pi(措施);

静的メソッドの継承

メソッドの密封属性が,スーパークラスにおいても真正的に設定されている場合を除いて,サブクラスは静的メソッドを再定義できます。

関連するトピック