-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCSuv.java
More file actions
55 lines (46 loc) · 1.37 KB
/
CSuv.java
File metadata and controls
55 lines (46 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class CSuv extends CAuto {
private final int mSerialNumber;
private static int sSuvCount;
private final boolean mOffroadDrivable;
public CSuv() {
super();
mOffroadDrivable = false;
mSerialNumber = sSuvCount++;
}
public CSuv(boolean offroadDrivable) {
super();
mOffroadDrivable = offroadDrivable;
mSerialNumber = sSuvCount++;
}
public CSuv(final String color, final String brand, final int maxSpeed, final int gears, int performance, boolean offroadDrivable) {
super(color, brand, maxSpeed, gears, performance);
mOffroadDrivable = offroadDrivable;
mSerialNumber = sSuvCount++;
}
public CSuv get() {
CSuv suv = new CSuv(
getColor(),
getBrand(),
getMaxSpeed(),
getGears(),
(int)getPerformanceKW(),
mOffroadDrivable
);
suv.accelerate(this.getCurrentSpeed());
suv.shiftGears(this.getCurrentGear());
return suv;
}
public boolean isOffroadDrivable() {
return mOffroadDrivable;
}
@Override
public String getSerialNumber() {
int first = 0;
int serial = mSerialNumber;
while (serial >= 10) {
first++;
serial -= 10;
}
return "" + first + "-" + serial;
}
}