問題タブ [super]

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 投票する
4 に答える
191 参照

cocoa - とにかくサブクラス化されるスーパーのメソッド(Cocoa)

再投稿の場合は申し訳ありませんが、一言で説明できないため、検索できませんでした。私はたくさんのメソッドを持つスーパークラスを持っていますが、それらは常に(すべてではありませんが)サブクラス化されます。スーパーから私はそれらのメソッドを実行する必要があります。メソッドをスーパー空のままにするか、スーパーで入力せずにとにかく呼び出す[self myMethod]ことができます。スーパーに存在しなくても、サブクラス化されたメソッドが呼び出されます。これは機能しますが、Xcodeでエラーが発生します。'superclass' may not respond to '-subclassmethod'

警告が表示されないようにするにはどうすればよいですか?

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

java - Java祖父母のメソッドを呼び出す方法は?

重複の可能性:
なぜ super.super.method();なのか Javaでは許可されていませんか?

、および の3 つのクラスABありC、それぞれが前のクラスを拡張しているとします。

も実装しA.myMethod()C.myMethod()いる場合、コードを呼び出すにはどうすればよいですか?BmyMethod

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

class - クラスの問題(超新)

次の演習で何が起こっているのかを理解するのに問題があります。私は Smalltalk を学んでいるので、初心者です。

クラス A>>new ^super new initialize.

A>> a:=0 を初期化します。

クラス B>>new: aParameter |インスタンス| インスタンス:=超新しい。インスタンス b: インスタンス a + aParameter。^インスタンス

B>> b:=0 を初期化します。

この問題は、次のコードを実行するとどうなるかを示しています。

B 新:10.

しかし、インスタンス変数が A クラスに属していない理由がわかりません。

ありがとう

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

java - コンストラクターの先頭に super() 呼び出しを配置し​​ますか?

これは、コーディング スタイルと推奨される方法に関する質問です。

質問への回答で説明したように、コンストラクターに super() を配置する必要はありませんか? スーパークラスのデフォルト (引数なし) コンストラクターを使用するクラスのコンストラクターを作成する場合は、コンストラクsuper()ターの先頭で次のように呼び出すことができます。

ただし、呼び出しを省略することもできます。どちらの場合でも、コンパイラは super() 呼び出しがあったかのように動作します。

それでは、呼び出しをコンストラクターに入れますか?

一方では、 を含めるsuper()と物事がより明確になると主張する人もいるかもしれません。OTOH、私はいつも冗長なコードを書くのが嫌いなので、個人的には省略しがちです。ただし、他の人のコードで定期的に見ています。

あなたの経験は何ですか?どちらかのアプローチで問題がありましたか? 1 つのアプローチを規定するコーディング ガイドラインはありますか?

ところで:関連する質問(参考までに):

他のコンストラクターがない場合に、既定のコンストラクターを明示的にコーディングする理由はありますか?

0 投票する
15 に答える
136874 参照

java - PECS(生産者拡張消費者スーパー)とは何ですか?

ジェネリックについて調べているときに PECS ( Producer extendsand Consumersuperの略) に出会いました。

extendsとの間の混乱を解決するために PECS を使用する方法を誰か説明してもらえますかsuper?

0 投票する
2 に答える
9177 参照

python - Python 3でsuper()を呼び出して使用する4つの方法はどれですか?

Python 3 super()のどのフレーバーをいつ使用するのだろうか。

これまで私はsuper()引数なしでしか使用していませんでしたが、期待どおりに機能しました(Java開発者による)。

質問:

  • この文脈で「バインドされた」とはどういう意味ですか?
  • バインドされたスーパーオブジェクトとバインドされていないスーパーオブジェクトの違いは何ですか?
  • いつ使用super(type, obj)するのsuper(type, type2)か?
  • のようにスーパークラスに名前を付ける方がよいでしょうMother.__init__(...)か?
0 投票する
5 に答える
15093 参照

java - 'super'キーワードを使用したジェネリックスの境界

superタイプパラメータではなく、ワイルドカードでのみ使用できるのはなぜですか?

たとえば、Collectionインターフェイスで、toArrayメソッドがこのように記述されていないのはなぜですか

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

java - 取得と設定、およびスーパー クラスをいつ使用するかについての質問

次の get メソッドがあります。

また、実装を別のものに変更する必要がある場合は、ArrayList簡単に変更でき、戻り値にnewList依存する他のすべてのコードを変更するだけで済みます。getMessageList()

次に、この set メソッドがあります。

私の質問は、Listメソッド シグネチャで 'ArrayList の代わりに使用する必要がありますか?

このようにして、必要な実装を強制できるため、使用することにしましArrayListた。そうしないと、あちこちでさまざまな種類のリストが混乱する可能性があります。

でも、このままでいいのか不安…。

0 投票する
13 に答える
20221 参照

java - Javaでスーパークラスコンストラクターを呼び出さない方法はありますか?

クラスがある場合:

と別の

電話をかけB.B() ないようにする方法はありますA.A()か?

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

objective-c - Objective-C のスーパーとは正確には何ですか?

私の知る限り、これはスーパークラスへのポインターです。これはスーパークラスに組み込まれており、実行時に動的に把握されるわけではありません。詳しく教えていただきたいです...

誰?