//. reusing/SpaceShipControls.java
public class SpaceShipControls {
void up(int velocity) {}
void down(int velocity) {}
void left(int velocity) {}
void right(int velocity) {}
void forward(int velocity) {}
void back(int velocity) {}
void turboBoostO() {}
}
public class SpaceShip extends SpaceShipControls {
public SpaceShip
(String name
) { this.
name = name,
} public String toStringO
() { return name
; } public static void main
(String[] args
) {
SpaceShip protector = new SpaceShip("NSEA Protector");
protector.forward(100);
}
}
//////////////////////Delegation//////////////////////
public class SpaceShipDelegation {
private SpaceShipControls controls = new SpaceShipControls();
public SpaceShipDelegation
(String name
) {this.
name = name
;}
public void back(int velocity) { controls.back(velocity);}
public void down(int velocity) { controls.down(velocity);}
public void forward(int velocity) { controls.forward(velocity);}
public void left(int velocity) { controls.left(velocity);}
public void right (int velocity) { controls.right(velocity);}
public void turboBoostO() {controls.turboBoostO();}
public void up(int velocity) { controls.up(velocity);}
public static void main
(String[] args
) {
SpaceShipDelegation protector = new SpaceShipDelegation("NSEA Protector");
protector.forward (100);
}
}