This is an object-oriented design project which contains five parent classes, each parent class has two child classes, and each parent class has minimum of two variables and two methods. Each child class has a minimum of one variable and one method, encapsulation implemented. One interface, two overridden methods, two overloaded methods, two abstract methods, and object communications.