Возможно ли понизить объект в цели c до его суперкласса? - PullRequest
1 голос
/ 13 июня 2009

Если у меня есть экземпляр класса B, который является подклассом класса A, есть ли способ превратить мой экземпляр класса B в экземпляр класса A без явного написания кода для этого?

Я не имею в виду простое уныние со стандартным синтаксисом C.

1 Ответ

4 голосов
/ 13 июня 2009

Вы можете сделать это с помощью среды выполнения objc (см. object_setClass(id object, Class cls) в справочнике по среде выполнения Objective-C. Однако более важным моментом является то, что вы почти наверняка не хотите этого делать. Если ваш подкласс не следует принципу подстановки Лискова , он не должен быть подклассом (т. е. отношение наследования не подходит, и вам следует выбрать другой дизайн). Вы всегда можете вызвать реализации метода суперкласса с помощью [super someMethod] из вашего подкласса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...