When applying composition to these two classes, what functionality should you extract into a new class?

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:
<code>
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() {}
}
</code>
When applying composition to these two classes, what functionality should you extract into a new class?

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:
<code>
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() {}
}
</code>
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.



Leave a Reply 3

Your email address will not be published. Required fields are marked *


Vins

Vins

Sorry, the answer is B

Tuan

Tuan

Why B
The answer must be A