Two companies with similar robots have merged. You are asked to construct a new program that
allows the features of the robots to be mixed and matched using composition. Given the code fragments:
public class CrusherRobot {
public void walk () {}
public void positionArm (int x, int y, int z) {}
public void raiseHammer() {}
public void dropHammer() {}
}
public class GripperRobot {
public void walk() {}
public void moveArm (int x, int y, int z) {}
public void openGripper () {}
public void closeGripper() {}
}
When applying composition to these two classes, what functionality should you extract into a new class?
A.
A new BasicRobot class that provides walking.
B.
A new BasicRobot class that combines gripping and hammering.
C.
A new BasicRobotFactory class to construct instances of GripperRobot.
D.
A new BasicRobotFactory class to construct instances of CrusherRobot.
Explanation: