As it is specified in the question that type of these products are going to be constant (40/60/80GB HDD). So, I would be having three sub type of HDD interface / abs. class as HDD40GB etc. and create the instances as per the user selection's product and its quantity.
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koophttps://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton