У меня есть класс X, абстрактный класс и классы A и B, которые наследуют его. Каждый из классов A и B имеет свою собственную функцию return_something. В другом месте у меня есть другой метод, который вызывает return_something для серии объектов, все типа X. return_something возвращает что-то другое в зависимости от того, является ли это A или B, поэтому я могу просто вызвать id * result = [x return_something ).
Я могу все это спроектировать, но когда я приступаю к его реализации, я не знаю, что поместить в родительский класс X. Он должен иметь функцию return_something, чтобы его можно было вызывать, но сама функция определяется в дочерних классах. Я могу объявить это в родительском и обоих дочерних элементах, но Мне нечего возвращать из реализации X - возвращаемый объект зависит от повторного определения дочернего элемента.
Это было бы хорошо для невозвратного метода, но как я собираюсь использовать наследование и полиморфизм с функцией?