Assume you are assembling differnt kind of work pieces and making products.
You need to build a WorkPiece
class which can be reused to build differnt kind of pieces with differnt shapes, materials etc.
You will finally add those pieces by + sign and make a composite object. So you can print information regarding the composite object.
Example psudocode will be like below.
wooden_top = WorkPiece(material=Wood, shape=Cylinder, radius=1, height=0.1)
metal_leg = WorkPiece(material=Steel, shape=Cylinder, radius=0.1, height=2)
chair = wooden_top + 4 * metal_leg
chair.print_material_volume_breakdown()
chair.print_total_cost()