preparing trains
This commit is contained in:
14
src/main/java/de/srsoftware/web4rail/moving/Car.java
Normal file
14
src/main/java/de/srsoftware/web4rail/moving/Car.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package de.srsoftware.web4rail.moving;
|
||||
|
||||
public class Car {
|
||||
public int length;
|
||||
private String name;
|
||||
|
||||
public Car(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
String name(){
|
||||
return name;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package de.srsoftware.web4rail.moving;
|
||||
|
||||
public class Locomotive extends Car {
|
||||
|
||||
public Locomotive(String name) {
|
||||
super(name);
|
||||
}
|
||||
}
|
||||
31
src/main/java/de/srsoftware/web4rail/moving/Train.java
Normal file
31
src/main/java/de/srsoftware/web4rail/moving/Train.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package de.srsoftware.web4rail.moving;
|
||||
|
||||
import java.util.Vector;
|
||||
|
||||
public class Train {
|
||||
private Vector<Locomotive> locos = new Vector<Locomotive>();
|
||||
private Vector<Car> cars = new Vector<Car>();
|
||||
private String name = null;
|
||||
|
||||
public Train(Locomotive loco) {
|
||||
add(loco);
|
||||
}
|
||||
|
||||
public void add(Car car) {
|
||||
if (car == null) return;
|
||||
if (car instanceof Locomotive) {
|
||||
locos.add((Locomotive) car);
|
||||
} else cars.add(car);
|
||||
}
|
||||
|
||||
public int length() {
|
||||
int result = 0;
|
||||
for (Locomotive loco : locos) result += loco.length;
|
||||
for (Car car : cars) result += car.length;
|
||||
return result;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return name != null ? name : locos.firstElement().name();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user