2015-09-07 11:44:36 -06:00
|
|
|
// reuse/Car.java
|
2021-01-31 15:42:31 -07:00
|
|
|
// (c)2021 MindView LLC: see Copyright.txt
|
2015-11-15 15:51:35 -08:00
|
|
|
// We make no guarantees that this code is fit for any purpose.
|
2016-09-23 13:23:35 -06:00
|
|
|
// Visit http://OnJava8.com for more book information.
|
2016-01-25 18:05:55 -08:00
|
|
|
// Composition with public objects
|
2015-06-15 17:47:35 -07:00
|
|
|
|
|
|
|
class Engine {
|
|
|
|
public void start() {}
|
|
|
|
public void rev() {}
|
|
|
|
public void stop() {}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Wheel {
|
|
|
|
public void inflate(int psi) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Window {
|
|
|
|
public void rollup() {}
|
|
|
|
public void rolldown() {}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Door {
|
|
|
|
public Window window = new Window();
|
|
|
|
public void open() {}
|
|
|
|
public void close() {}
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Car {
|
|
|
|
public Engine engine = new Engine();
|
|
|
|
public Wheel[] wheel = new Wheel[4];
|
|
|
|
public Door
|
|
|
|
left = new Door(),
|
|
|
|
right = new Door(); // 2-door
|
|
|
|
public Car() {
|
|
|
|
for(int i = 0; i < 4; i++)
|
|
|
|
wheel[i] = new Wheel();
|
|
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
|
|
Car car = new Car();
|
|
|
|
car.left.window.rollup();
|
|
|
|
car.wheel[0].inflate(72);
|
|
|
|
}
|
2015-09-07 11:44:36 -06:00
|
|
|
}
|