問題タブ [superclass]
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.
java - なぜ super.super.method(); なのか Javaでは許可されていませんか?
私はこの質問を読んで、次のように書くことができれば、簡単に解決できると思いました(それなしでは解決できないわけではありません):
多くの場合に役立つかどうかはわかりませんが、なぜそうでないのか、他の言語にこのようなものが存在するのだろうか.
皆さんはどう思いますか?
編集: 明確にするために:はい、Javaでは不可能であり、私はそれを見逃すことはありません。これは私が期待していた動作ではなく、コンパイル エラーが発生して驚きました。私はちょうどアイデアを持っていて、それについて話し合うのが好きです.
python - Python での継承とオーバーライド __init__
私は「Dive Into Python」を読んでいて、クラスに関する章で次の例を示しています。
次に、作成者は、メソッドをオーバーライドする場合は、正しいパラメーターを使用し __init__
て親を明示的に呼び出す必要があると述べています。__init__
- その
FileInfo
クラスに複数の祖先クラスがある場合はどうなりますか?- 祖先クラスのすべての
__init__
メソッドを明示的に呼び出す必要がありますか?
- 祖先クラスのすべての
- また、オーバーライドしたい他のメソッドに対してこれを行う必要がありますか?
java - スーパークラス オブジェクトでサブクラスのメソッドを呼び出すことは可能ですか?
Animal は Dog のスーパークラスで、Dog には bark というメソッドがあります
次の点を考慮してください。
何が起こるか?
- 割り当ては許可されていません
- bark の呼び出しが許可され、実行時に "woof" が出力されます
- bark の呼び出しは許可されていますが、何も出力されません
- bark を呼び出すと、コンパイル時エラーが発生します
- bark を呼び出すと実行時エラーが発生する
オブジェクトが犬かどうかを確認しているので、2 と言いました。dog は bark メソッドを含むクラスであるため、そうである場合はそれを呼び出して :s を出力します
ここで私の理解は正しいですか?
c# - .NET / C# - Reflection ヘルプ - アセンブリ内のクラス
アセンブリをループする最良の方法は何ですか?アセンブリリストの各クラスは「スーパークラス」ですか?
c# - C#:クラスの基本クラスをどのように取得しますか?
C#では、特定のクラスの基本クラスへの参照をどのように取得しますか?
たとえば、特定のクラスがあり、スーパークラスMyClass
への参照を取得したいとしますMyClass
。
私はこのようなことを念頭に置いています:
GetBase
しかし、適切な方法がないようです。
python - __init __()は親クラスの__init __()を呼び出す必要がありますか?
私はObjective-Cでそれを使用しています:私はこの構成を持っています:
Pythonは、親クラスの実装も呼び出す必要があり__init__
ますか?
__new__()
これもとの真/偽__del__()
ですか?
編集:非常によく似た質問があります:Pythonでの継承とオーバーライド__init__
c# - リフレクションを使用して、C# でプライベート読み取り専用継承フィールドを変更できますか?
私が持っているJavaのように:
スーパークラスからプライベートフィールドを知り、設定するにはどうすればよいですか?
これが強く推奨されないことはわかっていますが、アプリケーションをテストしていて、ID が正しくて名前が正しくないという間違った状況をシミュレートする必要があります。ただし、この ID は非公開です。
php - PHP5でスーパークラスオブジェクトをサブクラスオブジェクトにする
AのオブジェクトをBのコンストラクターに渡して、Bのオブジェクトを作成したいのですが、ご覧のとおり、$this変数を再割り当てすることはできません。クラスAを変更することは許可されていません。Aに多くのプロパティがある場合、Bのコンストラクターで次のようなことを行うのは面倒です。
私の質問は、最小限のコーディングでAのオブジェクトを使用してクラスBのオブジェクトを安全に作成するにはどうすればよいかということです。
java - スーパークラスでメソッドを呼び出す方法
インスタンス内のサブクラスを使用して、スーパー クラスをパラメーターとして受け取るメソッドを呼び出そうとしています。
経由で呼び出す場合
no such method Exception で失敗します
パラメータを取ることができるメソッドは存在しますが。
これを回避する最善の方法について何か考えはありますか?
java - プロジェクトをEclipseにインポートした後の「スーパークラスメソッドをオーバーライドする必要があります」エラー
プロジェクトをEclipseに再インポートする必要があるときはいつでも(Eclipseを再インストールした場合、またはプロジェクトの場所を変更した場合)、オーバーライドされたメソッドのほとんどすべてが正しくフォーマットされておらず、エラーが発生します。
メソッドはスーパークラスメソッドをオーバーライドする必要があります
これは何らかの理由でAndroidプロジェクトに当てはまることに注意してください。メソッドの引数の値は常に入力されるとは限らないため、自分で手動で入力する必要があります。例えば:
最初は次のように入力されます。
奇妙なことに、コードを削除してEclipseにメソッドを自動的に再作成させると、すでに持っていたのと同じ引数名が使用されるため、問題がどこにあるのかよくわかりません。それ以外の場合は、メソッドを自動フォーマットします。自分。
これは、オーバーライドされたすべてのメソッドを手動で手動で再作成する必要があるため、非常に面倒になります。誰かがこれが起こる理由またはそれを修正する方法を説明できるなら。とてもうれしくなる。
別のメソッドの引数内にあるメソッドのフォーマット方法が原因である可能性がありますか?