タグ付けされた質問 「overriding」

オブジェクト指向プログラミングにおけるメソッドのオーバーライドは、サブクラスまたは子クラスが、スーパークラスまたは親クラスの1つによってすでに提供されているメソッドの特定の実装を提供できるようにする言語機能です。

7
インターフェイスメソッドを実装する場合、@ Overrideは許可されません
タイトルに問題があります。このスレッドは別のスレッドと重複していると言えます。IntelliJIDEAで注釈のエラー検証をオフにするにはどうすればよいですか? しかし、そこで与えられた解決策は機能しません。彼らは私が次の行動を取る必要があると言います: プロジェクト構造内| プロジェクトダイアログで、プロジェクト言語レベルを6.0に変更します-インターフェイスで@Override。 ただし、現時点ではプロジェクトの言語レベルは6.0ですが、それでもエラーが表示されます。 Vic、これがウィンドウで、言語レベルのすぐ下にJVMバージョンがありません(残念ながら、評判が10であるため、画像を投稿できません)


8
派生クラスにスーパーメソッドを呼び出させる方法は?(Androidのように)
新しいActivityクラスを作成してからonCreate()メソッドをオーバーライドすると、Eclipseでは常に自動追加されるのではないかと思っていましたsuper.onCreate()。これはどのように起こりますか?これを強制する抽象クラスまたは親クラスにjavaキーワードはありますか? スーパークラスを呼び出さないことが違法かどうかはわかりませんが、これを行わなかったために例外がスローされたことをいくつかのメソッドで覚えています。これもJavaに組み込まれていますか?あなたはそれをするためにいくつかのキーワードを使うことができますか?またはそれはどのように行われますか?

3
非仮想メソッドのオーバーライド
Visual C ++ 2010でこのシナリオを想定しましょう。 #include <iostream> #include <conio.h> using namespace std; class Base { public: int b; void Display() { cout<<"Base: Non-virtual display."<<endl; }; virtual void vDisplay() { cout<<"Base: Virtual display."<<endl; }; }; class Derived : public Base { public: int d; void Display() { cout<<"Derived: Non-virtual display."<<endl; }; virtual …
84 c++  overriding 

7
なぜ新しいキーワードが必要なのですか?また、デフォルトの動作が非表示でオーバーライドされないのはなぜですか?
私はこのブログ投稿を見ていて、次の質問がありました。 newキーワードが必要なのは、基本クラスのメソッドが非表示になっていることを指定するためだけです。つまり、なぜそれが必要なのですか?overrideキーワードを使わないのなら、基本クラスのメソッドを隠していませんか? C#のデフォルトが非表示でオーバーライドされないのはなぜですか?なぜ設計者はそれをこのように実装したのですか?
81 c#  overriding 


15
C#:戻り値の型のオーバーライド
C#で戻り値の型をオーバーライドする方法はありますか?もしそうなら、どのように、そしてそうでなければ、なぜそしてそれを行うための推奨される方法は何ですか? 私の場合は、抽象基本クラスとその子孫とのインターフェースがあります。私はこれをやりたいと思います(実際にはそうではありませんが、例として!): public interface Animal { Poo Excrement { get; } } public class AnimalBase { public virtual Poo Excrement { get { return new Poo(); } } } public class Dog { // No override, just return normal poo like normal animal } public class Cat { public override …

3
サブクラスのオーバーライドされた関数を取得する
Pythonでサブクラスのすべてのオーバーライドされた関数を取得する方法はありますか? 例: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass ここで、私はリストを取得したい["a2"]クラスのオブジェクトのためにB(またはクラスオブジェクト自体の)クラスからBオーバーライドつだけの方法、すなわちa2。


2
戻り値の型が明示的に指定されていない場合、Unitを返すメソッドをStringを返すメソッドでオーバーライドできるのはなぜですか?
私はScala Edition1のプログラミングにおける特性の章のコード例を通して作業していました https://www.artima.com/pins1ed/traits.html そして私のタイプミスのために奇妙な行動に出くわしました。以下の特性のオーバーライドメソッドでは、コードスニペットではコンパイルエラーは発生しませんが、オーバーライドされたメソッドの戻り値の型はUnitvs とは異なりStringます。しかし、オブジェクトのメソッドを呼び出すと、Unitが返されますが、何も出力されません。 trait Philosophical { def philosophize = println("I consume memory, therefore I am!") } class Frog extends Philosophical { override def toString = "green" override def philosophize = "It aint easy to be " + toString + "!" } val frog = new Frog //frog: Frog …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.