タグ付けされた質問 「static-methods」

クラスのインスタンスを必要とせず、そのようなインスタンスのデータ(またはthis、self、Meなど)に暗黙的にアクセスできないメソッド。

3
静的メソッドとインスタンスメソッドのパフォーマンス
私の質問は、静的メソッドとインスタンスメソッドのパフォーマンス特性とそのスケーラビリティに関連しています。このシナリオでは、すべてのクラス定義が単一のアセンブリ内にあり、複数の個別のポインタータイプが必要であると想定します。 考慮してください: public sealed class InstanceClass { public int DoOperation1(string input) { // Some operation. } public int DoOperation2(string input) { // Some operation. } // … more instance methods. } public static class StaticClass { public static int DoOperation1(string input) { // Some operation. } public static int DoOperation2(string …

4
`staticmethod`と` abc.abstractmethod`:ブレンドされますか?
私のPythonアプリでは、staticmethodとの両方であるメソッドを作成したいと思いabc.abstractmethodます。どうすればよいですか? 両方のデコレータを適用しようとしましたが、機能しません。私がこれをすると: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod def my_function(): pass 例外*が発生します。これを行うと: class C(object): __metaclass__ = abc.ABCMeta @staticmethod @abc.abstractmethod def my_function(): pass 抽象メソッドは強制されません。 抽象静的メソッドを作成するにはどうすればよいですか? *例外: File "c:\Python26\Lib\abc.py", line 29, in abstractmethod funcobj.__isabstractmethod__ = True AttributeError: 'staticmethod' object has no attribute '__isabstractmethod__'

7
非静的メソッドへの静的参照を作成できません
Javaでの多言語アプリケーションの構築。R.stringリソースXMLファイルから文字列値を挿入するときにエラーを取得: public static final String TTT = (String) getText(R.string.TTT); これはエラーメッセージです。 エラー:Context型から非静的メソッドgetText(int)への静的参照を作成できません これはどのように引き起こされ、どうすれば解決できますか?

15
多くの静的メソッドを使用することは悪いことですか?
クラスが内部状態を追跡する必要がない場合、クラス内のすべてのメソッドを静的として宣言する傾向があります。たとえば、AをBに変換する必要があり、変化する可能性がある内部状態Cに依存しない場合は、静的変換を作成します。調整できるようにする内部状態Cがある場合は、コンストラクターを追加してCを設定し、静的変換を使用しません。 静的メソッドを使いすぎないようにするためのさまざまな推奨事項(StackOverflowを含む)を読みましたが、上記の経験則では何が問題かを理解できません。 それは合理的なアプローチですか?

6
静的メソッド-別のメソッドからメソッドを呼び出す方法は?
クラスの別のメソッドを呼び出すための通常のメソッドがある場合、これを行う必要があります class test: def __init__(self): pass def dosomething(self): print "do something" self.dosomethingelse() def dosomethingelse(self): print "do something else" しかし、静的メソッドがあると、書くことができません self.dosomethingelse() インスタンスがないためです。同じクラスの別の静的メソッドから静的メソッドを呼び出すには、Pythonでどのようにする必要がありますか? 編集:なんてめちゃくちゃ。質問を編集して元の質問に戻しました。Peter Hansenのコメントにある2番目の質問への回答はすでにあります。私がすでに持っている回答に対して別の質問を開く必要があると思われる場合は、plzで教えてください。


9
親クラスの子クラスの名前を取得する(静的コンテキスト)
私は、再利用とシンプルさを念頭に置いてORMライブラリを構築しています。私は愚かな継承の制限に悩まされたことを除いて、すべてうまくいきます。以下のコードを検討してください: class BaseModel { /* * Return an instance of a Model from the database. */ static public function get (/* varargs */) { // 1. Notice we want an instance of User $class = get_class(parent); // value: bool(false) $class = get_class(self); // value: bool(false) $class = get_class(); // value: …

10
静的メソッドとインスタンスメソッドの違い
教科書に書かれている文章を読んでいたところ、何を言っているのかよくわかりません。基本的に、静的メソッドまたはクラスメソッドには「modifier」キーワードstaticが含まれていると言っています。しかし、それが何を意味するのか本当にわかりませんか? 誰かが静的メソッドまたはクラスメソッドとは何かを本当に簡単な言葉で説明してもらえますか? また、インスタンスメソッドとは何かについて簡単に説明してもらえますか? これは彼らが教科書で私に与えたものです: 静的修飾子の有無には、重要な実際的な影響があります。パブリッククラスメソッドは、Javaがそれが属するクラスの定義を処理するとすぐに呼び出され、実行される場合があります。これは、インスタンスメソッドには当てはまりません。パブリックインスタンスメソッドを呼び出して実行する前に、インスタンスが属するクラスのインスタンスを作成する必要があります。パブリッククラスメソッドを使用するには、クラスが必要です。一方、パブリックインスタンスメソッドを使用する前に、クラスのインスタンスが必要です。 別のメソッドの定義内で静的メソッドが呼び出される方法は、2つのメソッドが同じクラスに属しているかどうかによって異なります。上記の例では、factorialとmainはどちらもMainClassクラスのメソッドです。その結果、mainの定義での階乗の呼び出しは、単にメソッド名「階乗」を参照します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.