How to have diffrent weapon characteristics

If you are working with upgradable or dynamic weapons whose stats change over the course of the game, check out my response on this other question. I talk about how to make the parent class and use the parent weapon class to make changes the the child weapons and their stats.