問題タブ [class-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
16396 参照

objective-c - クラスを参照せずにObjective Cで+classメソッドを呼び出すにはどうすればよいですか?

ポリシー クラスのセットでクラス メソッドとして実装すると便利だと思われる一連の「ポリシー」オブジェクトがあります。このためのプロトコルを指定し、準拠するクラスを作成しました (以下に示すのは 1 つだけです)。

次に、このプロトコルに準拠するクラスの配列があります (CurrentListCounter のように)

オブジェクトのようなクラスをどのように使用しているかに注意してください (これは私の問題かもしれません。Smalltalk では、クラスは他のすべてのオブジェクトと同じようにオブジェクトです。Objective-C にあるかどうかはわかりません)。

私の正確な問題は、配列からポリシー オブジェクトの 1 つを取得するときにメソッドを呼び出したい場合です。

return ステートメントで警告が表示されます - -countFor: not found in protocol と表示されます (そのため、クラス メソッドを呼び出したいインスタンス メソッドを想定しています)。ただし、配列内のオブジェクトはクラスのインスタンスであるため、インスタンス メソッドのようになりました (概念的にはそうあるべきです)。

クラスメソッドを呼び出す魔法の方法はありますか? それとも、これは単に悪い考えであり、ポリシー オブジェクトのインスタンスを作成するだけでよいのでしょうか (クラス メソッドは使用しないでください)。

0 投票する
18 に答える
334791 参照

objective-c - クラスメソッドとインスタンスメソッドの違いは何ですか?

クラスメソッドとインスタンスメソッドの違いは何ですか?

インスタンスメソッドはアクセサー(ゲッターとセッター)ですか?クラスメソッドは他のほとんどすべてです?

0 投票する
4 に答える
311 参照

ruby - Rubyクラスメソッドを定義する方法に違いはありますか?

Rubyでクラスメソッドを定義する次の2つの方法を考えます。

2つの間に違いはありますか?一方が他方よりも好ましいですか?

0 投票する
4 に答える
50112 参照

python - Pythonで基本クラスのclassmethodを呼び出す

次のコードを検討してください。

からDerived.do、どのように呼び出すのBase.doですか?

これが通常のオブジェクトメソッドである場合、私は通常、superまたは基本クラス名を直接使用しますが、基本クラスでclassmethodを呼び出す方法が見つからないようです。

上記の例では、classの代わりにclassをBase.do(a)出力します。BaseDerived

0 投票する
1 に答える
497 参照

python - Python クラス メソッド - 呼び出しを短くする方法はありますか?

私は Python をいじっていて、それを呼び出しているパッケージとは別のパッケージでクラスを作成しました。このクラスでは、メイン関数から呼び出されるクラス メソッドを追加しました。繰り返しますが、それらは別々のパッケージに入っています。クラス メソッドを呼び出す行は、他の場所で見た例からだと思っていたよりもはるかに長いです。これらの例は、同じパッケージ内からクラス メソッドを呼び出す傾向があるため、呼び出し構文が短縮されます。

これが私が役立つことを願っている例です:

「構成」パッケージでは:

「test」という名前の別のパッケージに含まれています。

「config.TestClass.TestClass.add_key」が通常のクラス メソッド呼び出しよりもはるかに冗長であることがわかります。短くする方法はありますか?たぶん「TestClass.add_key」ですか?私は何かを奇妙な方法で定義していますか (クラスが python ファイル名と一致する場合?)

0 投票する
10 に答える
335697 参照

c++ - 関数ポインタを介したC++メンバー関数の呼び出し

クラスメンバー関数の関数ポインターを取得し、後で特定のオブジェクトを使用してそのメンバー関数を呼び出すにはどうすればよいですか?私は書きたいです:

また、可能であれば、ポインターを介してコンストラクターも呼び出したいと思います。

これは可能ですか?もしそうなら、これを行うための好ましい方法は何ですか?

0 投票する
1 に答える
418 参照

iphone - ココアタッチ。これらの NSMutableData メソッドの違いは何ですか?

私が少しはっきりしていないことの 1 つは、これらの NSMutableArray メソッドの違いです。

内部では、クラス メソッドは実際に何をしているのでしょうか。インスタンスメソッドとの違いは?

乾杯、ダグ

0 投票する
1 に答える
3653 参照

python - classmethod オブジェクトはどのように機能しますか?

Python で classmethod オブジェクトがどのように機能するか、特にメタクラスのコンテキストと__new__. members私の特別なケースでは、に与えられたを反復処理するときに、クラスメソッドメンバーの名前を取得したいと思い__new__ます。

通常のメソッドの場合、名前は単純に__name__属性に格納されますが、クラスメソッドの場合、そのような属性はないようです。__call__属性も存在しないため、クラスメソッドがどのように呼び出されるかさえわかりません。

クラスメソッドがどのように機能するかを説明したり、ドキュメントを教えてもらえますか? グーグルは私をどこにも連れて行かなかった。ありがとう!

0 投票する
5 に答える
60335 参照

python - クラスメソッドでsuperを使用する

Pythonでsuper()関数を学習しようとしています。

この例(2.6)に出くわして行き詰まるまで、私はそれを理解していると思いました。

http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html#super-with-classmethod-example

例の直前にこの行を読んだとき、それは私が期待したものではありませんでした。

クラスメソッドを使用している場合、superを呼び出すインスタンスはありません。私たちにとって幸いなことに、superは2番目の引数として型を使用しても機能します。---以下に示すように、タイプを直接superに渡すことができます。

これは、Pythonがdo_something()をBのインスタンスで呼び出す必要があると言っても不可能だと言っていることです。

0 投票する
9 に答える
811 参照

python - Python クラスで、1 つではなく 2 つの引数があると主張されるのはなぜですか?

私が受け取ったそのコードで

何かご意見は?