diff --git a/Question15-Polymorphism/.gitignore b/Question15-Polymorphism/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/Question15-Polymorphism/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/Question15-Polymorphism/src/main/java/Car.java b/Question15-Polymorphism/src/main/java/Car.java new file mode 100644 index 0000000..23defc9 --- /dev/null +++ b/Question15-Polymorphism/src/main/java/Car.java @@ -0,0 +1,14 @@ +public class Car { + + protected String name; + protected int speed; + + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + } + + public void run() { + System.out.println(name + "は時速" + speed + "で走った"); + } +} diff --git a/Question15-Polymorphism/src/main/java/Q15_1.java b/Question15-Polymorphism/src/main/java/Q15_1.java new file mode 100644 index 0000000..159474d --- /dev/null +++ b/Question15-Polymorphism/src/main/java/Q15_1.java @@ -0,0 +1,15 @@ + +public class Q15_1 { + + public static void main(String[] args) { + + Car car1 = new SportsCar(); + + car1.run(); + + Car car2 = new Truck(); + + car2.run(); + + } +} diff --git a/Question15-Polymorphism/src/main/java/Q15_2.java b/Question15-Polymorphism/src/main/java/Q15_2.java new file mode 100644 index 0000000..ccf41a3 --- /dev/null +++ b/Question15-Polymorphism/src/main/java/Q15_2.java @@ -0,0 +1,23 @@ +import java.util.ArrayList; +import java.util.List; + +public class Q15_2 { + + public static void main(String[] args) { + + Car sportsCar = new SportsCar(); + + + Car truck = new Truck(); + + + List carList = new ArrayList<>(); + carList.add(sportsCar); + carList.add(truck); + + + for (Car car : carList) { + car.run(); + } + } +} diff --git a/Question15-Polymorphism/src/main/java/Q15_3.java b/Question15-Polymorphism/src/main/java/Q15_3.java new file mode 100644 index 0000000..402fb9f --- /dev/null +++ b/Question15-Polymorphism/src/main/java/Q15_3.java @@ -0,0 +1,17 @@ + +public class Q15_3 { + + public static void main(String[] args) { + // TODO 自動生成されたメソッド・スタブ + + Car car = new SportsCar(); + + + SportsCar sportsCar = (SportsCar) car; + + + sportsCar.turboRun(); + + } + +} diff --git a/Question15-Polymorphism/src/main/java/SportsCar.java b/Question15-Polymorphism/src/main/java/SportsCar.java new file mode 100644 index 0000000..daee8f0 --- /dev/null +++ b/Question15-Polymorphism/src/main/java/SportsCar.java @@ -0,0 +1,12 @@ + +public class SportsCar extends Car { + + public SportsCar() { + super("スポーツカー", 100); + } + + public void turboRun() { + + System.out.println(name + "は時速" + (speed * 3) + "で走った"); + } + } \ No newline at end of file diff --git a/Question15-Polymorphism/src/main/java/Truck.java b/Question15-Polymorphism/src/main/java/Truck.java new file mode 100644 index 0000000..9bee2b6 --- /dev/null +++ b/Question15-Polymorphism/src/main/java/Truck.java @@ -0,0 +1,8 @@ + +public class Truck extends Car { + + + public Truck() { + super("トラック", 30); + } +}