实例方法,即需要实例化对象调用的方法。类方法,即类直接调用的方法。
我不明白什么场合用类方法,什么场合用实例方法。两者相比较真正的优势和劣势又是什么?
クラス メソッドは通常、標準化された処理を提供するために使用され、インスタンス メソッドは通常、パーソナライズされた処理 (特定のインスタンスへのバインド) を提供するために使用されます。
メリットやデメリットなど存在しないはずです。
メソッドに同じ入力パラメータがある場合、出力は異なるオブジェクト インスタンスのインスタンス変数の影響を受けます。通常、メソッドはインスタンス メソッドとして記述される必要があります。
入力パラメータが同じでもインスタンス変数の影響を受けない場合(静的はインスタンス変数としてカウントされません)、クラスメソッドを作成し、それをクラスに渡して呼び出すことができます。たとえば
この種のゴーストをインスタンス メソッドとして記述することもできますが、呼び出されるたびにインスタンス化/解放されるだけでなく、コードの読み取りにも影響します。
クラス メソッドは、シングルトン モードとファクトリ モードでより一般的です。シングルトン モード プログラムのこのクラスにはインスタンスが 1 つだけありますが、ファクトリ モードではさまざまなインスタンスが生成され、パラメータに基づいてそれらが返されます。
それぞれの方法に利点や欠点はありません。区別する必要がある場合は、次の点を考慮してください。
クラス メソッドの欠点: クラス メソッドでは、self はクラス オブジェクトではなくクラスを表すため、クラス メソッドでは self を使用して属性を呼び出すことはできません。また、このクラスのインスタンス メソッドを呼び出すこともできません。#🎜🎜 #クラスメソッドの利点:呼び出しが簡単、オブジェクトを作成する必要がない
クラス メソッドは通常、標準化された処理を提供するために使用され、インスタンス メソッドは通常、パーソナライズされた処理 (特定のインスタンスへのバインド) を提供するために使用されます。
メリットやデメリットなど存在しないはずです。
メソッドに同じ入力パラメータがある場合、出力は異なるオブジェクト インスタンスのインスタンス変数の影響を受けます。通常、メソッドはインスタンス メソッドとして記述される必要があります。
入力パラメータが同じでもインスタンス変数の影響を受けない場合(静的はインスタンス変数としてカウントされません)、クラスメソッドを作成し、それをクラスに渡して呼び出すことができます。たとえば
この種のゴーストをインスタンス メソッドとして記述することもできますが、呼び出されるたびにインスタンス化/解放されるだけでなく、コードの読み取りにも影響します。
クラス メソッドは、シングルトン モードとファクトリ モードでより一般的です。シングルトン モード プログラムのこのクラスにはインスタンスが 1 つだけありますが、ファクトリ モードではさまざまなインスタンスが生成され、パラメータに基づいてそれらが返されます。
それぞれの方法に利点や欠点はありません。区別する必要がある場合は、次の点を考慮してください。
クラス メソッドの欠点: クラス メソッドでは、self はクラス オブジェクトではなくクラスを表すため、クラス メソッドでは self を使用して属性を呼び出すことはできません。また、このクラスのインスタンス メソッドを呼び出すこともできません。#🎜🎜 #クラスメソッドの利点:呼び出しが簡単、オブジェクトを作成する必要がない