問題タブ [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.
cocoa - とにかくサブクラス化されるスーパーのメソッド(Cocoa)
再投稿の場合は申し訳ありませんが、一言で説明できないため、検索できませんでした。私はたくさんのメソッドを持つスーパークラスを持っていますが、それらは常に(すべてではありませんが)サブクラス化されます。スーパーから私はそれらのメソッドを実行する必要があります。メソッドをスーパー空のままにするか、スーパーで入力せずにとにかく呼び出す[self myMethod]
ことができます。スーパーに存在しなくても、サブクラス化されたメソッドが呼び出されます。これは機能しますが、Xcodeでエラーが発生します。'superclass' may not respond to '-subclassmethod'
警告が表示されないようにするにはどうすればよいですか?
java - Java祖父母のメソッドを呼び出す方法は?
、および の3 つのクラスA
がB
ありC
、それぞれが前のクラスを拡張しているとします。
も実装しA.myMethod()
てC.myMethod()
いる場合、コードを呼び出すにはどうすればよいですか?B
myMethod
class - クラスの問題(超新)
次の演習で何が起こっているのかを理解するのに問題があります。私は Smalltalk を学んでいるので、初心者です。
クラス A>>new ^super new initialize.
A>> a:=0 を初期化します。
クラス B>>new: aParameter |インスタンス| インスタンス:=超新しい。インスタンス b: インスタンス a + aParameter。^インスタンス
B>> b:=0 を初期化します。
この問題は、次のコードを実行するとどうなるかを示しています。
B 新:10.
しかし、インスタンス変数が A クラスに属していない理由がわかりません。
ありがとう
java - コンストラクターの先頭に super() 呼び出しを配置しますか?
これは、コーディング スタイルと推奨される方法に関する質問です。
質問への回答で説明したように、コンストラクターに super() を配置する必要はありませんか? スーパークラスのデフォルト (引数なし) コンストラクターを使用するクラスのコンストラクターを作成する場合は、コンストラクsuper()
ターの先頭で次のように呼び出すことができます。
ただし、呼び出しを省略することもできます。どちらの場合でも、コンパイラは super() 呼び出しがあったかのように動作します。
それでは、呼び出しをコンストラクターに入れますか?
一方では、 を含めるsuper()
と物事がより明確になると主張する人もいるかもしれません。OTOH、私はいつも冗長なコードを書くのが嫌いなので、個人的には省略しがちです。ただし、他の人のコードで定期的に見ています。
あなたの経験は何ですか?どちらかのアプローチで問題がありましたか? 1 つのアプローチを規定するコーディング ガイドラインはありますか?
ところで:関連する質問(参考までに):
java - PECS(生産者拡張消費者スーパー)とは何ですか?
ジェネリックについて調べているときに PECS ( Producer extends
and Consumersuper
の略) に出会いました。
extends
との間の混乱を解決するために PECS を使用する方法を誰か説明してもらえますかsuper
?
python - Python 3でsuper()を呼び出して使用する4つの方法はどれですか?
Python 3 super()のどのフレーバーをいつ使用するのだろうか。
これまで私はsuper()
引数なしでしか使用していませんでしたが、期待どおりに機能しました(Java開発者による)。
質問:
- この文脈で「バインドされた」とはどういう意味ですか?
- バインドされたスーパーオブジェクトとバインドされていないスーパーオブジェクトの違いは何ですか?
- いつ使用
super(type, obj)
するのsuper(type, type2)
か? - のようにスーパークラスに名前を付ける方がよいでしょう
Mother.__init__(...)
か?
java - 'super'キーワードを使用したジェネリックスの境界
super
タイプパラメータではなく、ワイルドカードでのみ使用できるのはなぜですか?
たとえば、Collection
インターフェイスで、toArray
メソッドがこのように記述されていないのはなぜですか
java - 取得と設定、およびスーパー クラスをいつ使用するかについての質問
次の get メソッドがあります。
また、実装を別のものに変更する必要がある場合は、ArrayList
簡単に変更でき、戻り値にnewList
依存する他のすべてのコードを変更するだけで済みます。getMessageList()
次に、この set メソッドがあります。
私の質問は、List
メソッド シグネチャで 'ArrayList の代わりに使用する必要がありますか?
このようにして、必要な実装を強制できるため、使用することにしましArrayList
た。そうしないと、あちこちでさまざまな種類のリストが混乱する可能性があります。
でも、このままでいいのか不安…。
java - Javaでスーパークラスコンストラクターを呼び出さない方法はありますか?
クラスがある場合:
と別の
電話をかけB.B()
ないようにする方法はありますA.A()
か?
objective-c - Objective-C のスーパーとは正確には何ですか?
私の知る限り、これはスーパークラスへのポインターです。これはスーパークラスに組み込まれており、実行時に動的に把握されるわけではありません。詳しく教えていただきたいです...
誰?