Skip to content

Commit b678657

Browse files
committed
implement solution
1 parent 3e80588 commit b678657

4 files changed

Lines changed: 68 additions & 7 deletions

File tree

Car.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
public class Car extends Vehicle {
2+
3+
private 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+
speed *= 2;
16+
System.out.println(
17+
getMake() + " " + getModel() + " macht einen Turboboost und beschleunigt auf " + speed + " km/h");
18+
}
19+
20+
public void print() {
21+
System.out.println(
22+
getMake() + " " + getModel() + " (" + getEngine().getDescription() + ", " + seats + " Sitzplaetze)");
23+
}
24+
}

Exercise.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ public static void main(String[] args) {
55
numberOfVehicles = Vehicle.getNumberOfVehicles();
66
System.out.println("Anzahl Fahrzeuge: " + numberOfVehicles);
77

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

1212
numberOfVehicles = Vehicle.getNumberOfVehicles();
1313
System.out.println("Anzahl Fahrzeuge: " + numberOfVehicles);
1414

15-
vehicle1.print();
16-
vehicle2.print();
17-
vehicle3.print();
15+
car1.print();
16+
truck1.print();
17+
car2.print();
18+
19+
car1.accelerate(50);
20+
truck1.transform();
21+
car1.doATurboBoost();
22+
truck1.transform();
1823
}
1924
}

Truck.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
public class Truck extends Vehicle {
2+
3+
private 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+
isTransformed = false;
22+
System.out.println(getMake() + " " + getModel() + " verwandelt sich in einen Lastwagen zurueck");
23+
} else {
24+
isTransformed = true;
25+
System.out.println(getMake() + " " + getModel() + " verwandelt sich in einen Autobot");
26+
}
27+
}
28+
29+
public void print() {
30+
System.out.println(getMake() + " " + getModel() + " (" + getEngine().getDescription() + ", " + cargo + "t)");
31+
}
32+
}

Vehicle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ public class Vehicle {
33
private String make;
44
private String model;
55
private Engine engine;
6-
private double speed;
6+
protected double speed;
77
private static int numberOfVehicles;
88

99
public Vehicle(String make, String model, Engine engine) {

0 commit comments

Comments
 (0)