Javaの開発をしたことがないので、やったことをまとめていこうと思います。
基本的なことをやっていくので初心者でも出来るレベルだと思います。
ポリモルフィズム
[Stroke1.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// パッケージの宣言 package chapter_4_12; /** * インターフェース */ public interface Stroke1 { // 抽象メソッド public int distance = 100; public void crawl(); public void breaststroke(); public void backstroke(); public void butterfly(); } |
[Kenhi.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// パッケージの宣言 package chapter_4_12; /** * Kenhiクラス(インターフェースの実装) */ public class Kenhi implements Stroke1{ // オーバーライド public void crawl() { System.out.print("健二はクロールが得意です。"); System.out.println(distance + "m泳ぎました。"); } // オーバーライド public void breaststroke() { System.out.print("健二は平泳ぎが苦手です。"); System.out.println(distance / 4 + "m泳ぎました。"); } // オーバーライド public void backstroke() { System.out.print("健二は背泳ぎが得意です。"); System.out.println(distance + "m泳ぎました。"); } // オーバーライド public void butterfly() { System.out.print("健二はバタフライが苦手です。"); System.out.println(distance / 4 + "m泳ぎました。"); } } |
[Kenzou.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// パッケージの宣言 package chapter_4_12; /** * Kenzouクラス(インターフェースの実装) */ public class Kenzou implements Stroke1 { // オーバーライド public void crawl() { System.out.print("健三はクロールが苦手です。"); System.out.println(distance / 4 + "m泳ぎました。"); } // オーバーライド public void breaststroke() { System.out.print("健三は平泳ぎが得意です。"); System.out.println(distance + "m泳ぎました。"); } // オーバーライド public void backstroke() { System.out.print("健三は背泳ぎが苦手です。"); System.out.println(distance / 4 + "m泳ぎました。"); } // オーバーライド public void butterfly() { System.out.print("健三はバタフライが得意です。"); System.out.println(distance + "m泳ぎました。"); } } |
[SwimmingSchool.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// パッケージの宣言 package chapter_4_12; /** * SwimmingSchoolクラス */ public class SwimmingSchool { // training1メソッド public void training1(Stroke1 inst) { System.out.println("トレーニング1です。"); inst.crawl(); inst.breaststroke(); } // training2メソッド public void training2(Stroke1 inst) { System.out.println("トレーニング2です。"); inst.backstroke(); inst.butterfly(); } } |
[Rensyu412_03.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// パッケージの宣言 package chapter_4_12; /** * Rensyu412_03クラス */ public class Rensyu412_03 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // インスタンスの生成 Kenhi kenji = new Kenhi(); Kenzou kenzou = new Kenzou(); SwimmingSchool school = new SwimmingSchool(); // メソッドの呼び出し school.training1(kenji); school.training1(kenzou); school.training2(kenji); school.training2(kenzou); } } |
[表示結果]
1 2 3 4 5 6 7 8 9 10 11 12 |
トレーニング1です。 健二はクロールが得意です。100m泳ぎました。 健二は平泳ぎが苦手です。25m泳ぎました。 トレーニング1です。 健三はクロールが苦手です。25m泳ぎました。 健三は平泳ぎが得意です。100m泳ぎました。 トレーニング2です。 健二は背泳ぎが得意です。100m泳ぎました。 健二はバタフライが苦手です。25m泳ぎました。 トレーニング2です。 健三は背泳ぎが苦手です。25m泳ぎました。 健三はバタフライが得意です。100m泳ぎました。 |
★ポイント
- ポリモルフィズムとは同じ名前のメソッドを呼び出しても異なる処理を発生させる仕組みのことである。
- メソッドに引数としてオブジェクトを渡すとき、メソッド側ではインスタンス型で受け取ることができる。
javaでポイントになるものをまとめてみた newを使用したインスタンスの生成
javaでポイントになるものをまとめてみた 引数/戻り値を使用する
javaでポイントになるものをまとめてみた インスタンス変数とクラス変数
javaでポイントになるものをまとめてみた インターフェース
javaでポイントになるものをまとめてみた ポリモルフィズム
javaでポイントになるものをまとめてみた コレクションクラス