Programming Assignment 5 - The purpose of this programming project is to reinforce the understanding of inheritance, polymorphism, and interfaces while illustrating the purpose of and including an Abstract class into an inheritance hierarchy