ThinkSys interview question

Solid principal and oops concepts