This commit is contained in:
2026-10-30 15:12:15 +09:00
parent f62bfc6297
commit 1a12b686b1
7 changed files with 90 additions and 0 deletions

1
Question15-Polymorphism/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build/

View File

@@ -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 + "で走った");
}
}

View File

@@ -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();
}
}

View File

@@ -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<Car> carList = new ArrayList<>();
carList.add(sportsCar);
carList.add(truck);
for (Car car : carList) {
car.run();
}
}
}

View File

@@ -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();
}
}

View File

@@ -0,0 +1,12 @@
public class SportsCar extends Car {
public SportsCar() {
super("スポーツカー", 100);
}
public void turboRun() {
System.out.println(name + "は時速" + (speed * 3) + "で走った");
}
}

View File

@@ -0,0 +1,8 @@
public class Truck extends Car {
public Truck() {
super("トラック", 30);
}
}