#pragma twice

KAB-studio > プログラミング > Javaのオブジェクト指向入門 > "オーバーライド" : 検索結果
 

検索結果 : "オーバーライド"

5.3 オーバーライドで「上書き」する

オーバーライドで「上書き」する オーバーライド  前ページでは、サブクラスでフィールド・メソッドを追加できることを説明しました。  では、追加したのが同じ名前の場合、どうなるでしょう。 オーバーライドの例(...

5.4 オーバーライドされたメソッドを呼び出すと?

オーバーライドされたメソッドを呼び出すと?  このページで説明する内容は、実は非常に重要な内容です。  結構さらっと説明していますが、ここで説明したことを後で出てくる重要な項目に使うので、しっかり覚えておいてく...

5.5 スーパーからサブは見えません

... メソッドを追加しています。 */ class NonOverrideSub extends UseSubClassSuper { /** * 自クラスの名前を出力するメソッドです。 * オーバーライドしていません。 */ void printMyName() { System.out.println( "NonOverrideSub" ); } }  このプログラムは、前ページ...

6.1 オーバーライドするとメソッドはなくなる?

オーバーライドするとメソッドはなくなる?  この章では、継承についてわかりにくい部分、謎な箇所について説明していきます。 スーパークラスからサブクラスは?  質問:オーバーライドすると、スーパークラスにある...

6.2 3段以上オーバーライドしたら?

3段以上オーバーライドしたら? オーバーライドを重ねると?  質問:継承を3段以上行ってそれぞれでスーパークラスのメソッドをオーバーライドした場合、どのメソッドが呼ばれますか? たとえばクラスAのサブクラスBがあり、...

7.3 オーバーライドされたメソッドを呼び出すと?再び

オーバーライドされたメソッドを呼び出すと?再び オーバーライドされたメソッドを呼び出す  前ページでは、アップキャストをすることで「使えるフィールド・メソッドがスーパークラスのものに限られる」ということを説明...

7.4 ポリモーフィズム!

ポリモーフィズム! 「ポリモーフィズム」しよう!  前ページで説明したように、スーパークラスの参照を通してメソッドを呼び出しても、そのメソッドがオーバーライドされていたら、オーバーライドしたメソッドが呼び出されます。  この機能を使うと「ポリモーフィズム」という面白い機能を使うことができます。  まずは具体例を見てみましょう。 ポリモーフィズムの例(Po...

9.1 abstractクラスとabstractメソッド

...、実際にはあまり使わない機能です。  ただ、その次の章で説明する「インタフェース」を理解するうえでの手助けになるので、とりあえずかじっておきましょう。 抽象クラスを作ってみる  ここまでの説明で、オーバーライドとアップキャストを使うことでポリモーフィズムができることはわかったと思います。  この「ポリモーフィズム」を強制させる機能があります。  それがこれから説明する「抽象クラス」というものです。  まずは...

9.2 抽象クラスの使い道

抽象クラスの使い道  抽象クラスは、一見するとどんな使い道があるかわかりにくいクラスです。  そこで、一番手っ取り早いメリット「オーバーライドしなきゃいけない!」という点を見てみましょう。 抽象クラスでミスを防ごう  抽象クラスのメリットを見るために、抽象クラスを使用しなかった場合の失敗例を見てみましょう。 抽象クラスを使用しない例(...

9.4 「抽象」って何?

...ていました。  「theoretical」は「理論上」という意味です。  ここで、「9.1 abstractクラスとabstractメソッド」の、抽象クラスの使用例を思い返してみましょう。 オーバーライドしたメソッドを呼び出している箇所(再掲) // オーバーライドしたメソッドを呼び出します。 refSuper.printMyName(); // 実行結果: // ConcreteSu...

10.1 インタフェースという「抽象クラスっぽいもの」

...* * PrintInterfaceインタフェースの実装クラス。 */ class Implemented implements PrintInterface { /** * 抽象メソッドをオーバーライドします。 */ public void printMyName() { System.out.println( "Implemented" ); } } /** * 実行用クラス。こ...

10.2 インタフェースはクラスと一緒に「継承」できる!

...dクラスのサブクラス。 */ class ImplementedAndSub extends AddSuper implements CalcInterface { /** * 抽象メソッドをオーバーライドします。 */ public int calc( int lh, int rh ) { // スーパークラスが持つadd()メソッドを使います。 return add( lh, rh ...

10.4 インタフェースは「抽象クラスの強力版」?

...ールドのみです。 (3):抽象クラスはクラス・抽象メソッドの前にabstractを付けなければいけませんが、インタフェースは付けません。 (4):インタフェースは「継承」を「実装」と呼びます。また、「オーバーライド」を「実装」と呼びます。 (5):抽象クラスの「extends」はインタフェースでは「implements」を使用します。 (6):インタフェースの抽象メソッドは自動的に「public」が付くので、実...

11.4 オブジェクト指向分析設計

...た方がいいでしょう。  このコンテンツで紹介してきたJavaの機能は「オブジェクト指向プログラミング」です。  クラスからインスタンスを作り、インスタンスはフィールドとメソッドを持ち、継承して拡張し、オーバーライドしてひも付けし、アップキャストでポリモーフィズムし、インタフェースで実装と分ける――こういった機能を皆さんはもう使いこなせるはずです。  それと「オブジェクトは車とかタクシーを表したもの」という考え方...

11.5 オブジェクト指向の問題点

...ルドへアクセスするためにGetter・Setterメソッドか、それに代わるメソッドを作る必要があります。  継承を使うと、継承した分だけクラスが増え、合わせてインタフェースも増えます。  サブクラスでオーバーライドをすれば、それだけメソッドも増えます。  クラスが増えていくと、テストをするためのプログラムもどんどん増えます。  テストをする際には、ダミーのクラスも作らなければいけません。  と、こんな感...