59歳の初転職

59歳 初転職で派遣社員になる

職業訓練 42日目 JAVA

isakurad2

ブラックフライデー

毎年、規模が拡大傾向ですね。


スーパーマーケットの商品が 結構黒い。

あの手この手で拡販拡販。

 ちょっとは乗っかるかな。

  この不二家のシュークリームも 黒くなかったら手に取ってない。



職業訓練 JAVA


前日で テキスト入門編が完了し、

実践編テキストに突入


パッケージとJAVA API



生成AIに課題もらう

「抽象クラス ポリモーフィズム カプセル化 で練習課題ください 100行から150行くらいで。」


📝 課題内容:乗り物管理システム

要件

  1. 抽象クラス Vehicle
    • フィールド:brand(メーカー名), speed(速度)
    • コンストラクタ:引数2つで初期化
    • accelerate(int amount) 抽象メソッド
    • printInfo() 共通メソッド
  2. サブクラス
    • Car:加速すると速度が一定量増える
    • Bike:加速すると速度が少し増える
    • Bus:加速すると速度が大きく増える
  3. カプセル化
    • フィールドは private
    • getBrand(), getSpeed() で外部からアクセス
  4. Garage クラス
    • List を保持
    • addVehicle(Vehicle v) で追加
    • showAllVehicles() で全車両表示
    • testDriveAll() で全車両を加速させる
  5. Main クラス
  • 複数の車両を作成し、Garage に追加
  • 全車両の情報を表示し、テスト走行を実行


import java.util.ArrayList;

import java.util.List;


abstract class Vehicle {

private String brand;

private int speed;

public Vehicle (String brand,int speed){

this.brand = brand;

this.speed = speed;

}

public String getBrand() {

return brand;

}

public int getSpeed() {

return speed;

}

protected void setSpeed(int speed) {

this.speed = speed;

}

public abstract void accelerate(int amount);

public void printInfo() {

System.out.println("メーカー:" + brand + ",速度:" + speed + "km/h");

}

}

class Car extends Vehicle {

public Car(String brand,int speed) {

super(brand,speed);

}

@Override

public void accelerate(int amount){

setSpeed(getSpeed() + amount * 2 );

System.out.println(getBrand() + "(Car)が加速!速度:" + getSpeed());

}

}


class Bike extends Vehicle {

public Bike(String brand,int speed) {

super(brand,speed);

}


@Override

public void accelerate(int amount) {

setSpeed(getSpeed() + amount);

System.out.println(getBrand() + "(Bike)が加速!速度: " + getSpeed());

}

}

class Bus extends Vehicle {

public Bus(String brand,int speed) {

super(brand,speed);

}

@Override

public void accelerate(int amount) {

setSpeed(getSpeed() + amount *3);

System.out.println(getBrand() + "(Bus)が加速!速度: " + getSpeed());

}

}


class Garage{

private List<Vehicle> vehicles = new ArrayList<>();

public void addVehicle(Vehicle v) {

vehicles.add(v);

}

public void showAllVehicle() {

System.out.println("=== 車庫の車両一覧===");

for (Vehicle v : vehicles) {

v.printInfo();

}

}

public void testDriveAll() {

System.out.println("===全車両をテスト走行===");

for (Vehicle v : vehicles) {

v.accelerate(10);

}

}

}

public class Main {

public static void main(String[] args) {

Garage garage = new Garage();

Vehicle car = new Car("Toyota",50);

Vehicle bike = new Bike("Honda",30);

Vehicle bus = new Bus("Nissan",40);

garage.addVehicle(car);

garage.addVehicle(bike);

garage.addVehicle(bus);

garage.showAllVehicle();

System.out.println();

garage.testDriveAll();

System.out.println();

garage.showAllVehicle();

}

}

42日目/113日間