о классах
Это бред, создавать 6 классов которые наследуют 1 класс и при этом работать с наследуемым. Переверните логику, вы должны работать с конечным классом, тот который является самым высшим в цепочке наследовании.
полиморфизм, это когда потомок переопределяет поведение родителя.