Насколько я понял, нужно создать родительский класс например с пустым методом "действие", потом в наследующих классах, этот метод нужно реализовать. Теперь берём объекта с типом родительского класса и вызываем метод "действие", мы получаем нужное поведение дочернего класса. Только непонятно кто в переменную с типом родительского класса, положит нужный дочерний объект. Ну вот как то так хреново я понимаю ООП.