Replaced Conditional with Polymorphism: getCharge is now abstract and
each SubClass implements it