Skip to content

Commit f8937b4

Browse files
committed
implement solution
1 parent 8b1cfd8 commit f8937b4

5 files changed

Lines changed: 68 additions & 5 deletions

File tree

Car.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
public class Car extends Vehicle {
2+
3+
private final int seats;
4+
5+
public Car(String make, String model, Engine engine, int seats) {
6+
super(make, model, engine);
7+
this.seats = seats;
8+
}
9+
10+
public int getSeats() {
11+
return seats;
12+
}
13+
14+
public void doATurboBoost() {
15+
speedInKmh *= 2;
16+
System.out.println(
17+
getMake() + " " + getModel() + " macht einen Turboboost und beschleunigt auf " + speedInKmh + " km/h");
18+
}
19+
20+
public String toString() {
21+
return getMake() + " " + getModel() + " (" + getEngine().getDescription() + ", " + seats + " Sitzplaetze)";
22+
}
23+
}

Engine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ public enum Engine {
44
GAS("Gas"),
55
ELECTRO("Elektro");
66

7-
private String description;
7+
private final String description;
88

99
Engine(String description) {
1010
this.description = description;

Exercise.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,19 @@ public class Exercise {
33
public static void main(String[] args) {
44
System.out.println("Anzahl Fahrzeuge: " + Vehicle.getNumberOfVehicles());
55

6-
Vehicle vehicle1 = new Vehicle("Porsche", "911", Engine.ELECTRO);
7-
Vehicle vehicle2 = new Vehicle("MAN", "TGX", Engine.DIESEL);
8-
Vehicle vehicle3 = new Vehicle("Opel", "Zafira Life", Engine.DIESEL);
6+
Car car1 = new Car("Porsche", "911", Engine.ELECTRO, 2);
7+
Truck truck1 = new Truck("MAN", "TGX", Engine.DIESEL, 20);
8+
Car car2 = new Car("Opel", "Zafira Life", Engine.DIESEL, 7);
99

1010
System.out.println("Anzahl Fahrzeuge: " + Vehicle.getNumberOfVehicles());
11+
12+
System.out.println(car1.toString());
13+
System.out.println(truck1.toString());
14+
System.out.println(car2.toString());
15+
16+
car1.accelerate(50);
17+
truck1.transform();
18+
car1.doATurboBoost();
19+
truck1.transform();
1120
}
1221
}

Truck.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
public class Truck extends Vehicle {
2+
3+
private final int cargo;
4+
private boolean isTransformed;
5+
6+
public Truck(String make, String model, Engine engine, int cargo) {
7+
super(make, model, engine);
8+
this.cargo = cargo;
9+
}
10+
11+
public int getCargo() {
12+
return cargo;
13+
}
14+
15+
public boolean isTransformed() {
16+
return isTransformed;
17+
}
18+
19+
public void transform() {
20+
if (isTransformed) {
21+
System.out.println(getMake() + " " + getModel() + " verwandelt sich in einen Lastwagen zurueck");
22+
} else {
23+
System.out.println(getMake() + " " + getModel() + " verwandelt sich in einen Autobot");
24+
}
25+
isTransformed = !isTransformed;
26+
}
27+
28+
public String toString() {
29+
return getMake() + " " + getModel() + " (" + getEngine().getDescription() + ", " + cargo + "t)";
30+
}
31+
}

Vehicle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ public class Vehicle {
22

33
private String make;
44
private String model;
5-
private double speedInKmh;
5+
protected double speedInKmh;
66
private Engine engine;
77
private static int numberOfVehicles;
88

0 commit comments

Comments
 (0)