Inheritance and abstraction Homework