Objective-c вопрос по полиморфизму

Владислав N

Добрый день всем!
Суть вопроса в следующем. Пишу шахматы на obj-c. Есть класс родитель ChessFigure(Шахматная Фигура) и его наследники классы Король, Ладья, Пешка и т.д, которые переопределяют его метод 'makeStep'(сделать шаг). Каждая фигура ходит по своему. Все фигуры хранятся в ссылочных переменных типа ChessFigure, например:

ChessFigure * figure = [King alloc] init];

так вот если я у такой переменной вызову метод makeStep, то вызовется не переопределенный метод объекта, хранящегося по ссылке, а метод его родителя, то есть ChessFigure. Как это можно обойти? Может я не правильно переопределяю метод? Хотя перечитал книжку Кочана, перерыл интернет, вроде все правильно. А может в obj-c так и должно быть, просто я раньше писал на java и там вызывался именно метод наследника, как его называл наш преподаватель 'шпиона'=)

Владислав N больше 1 года назадСпасибо 0
0 чел.