Я изо всех сил пытался найти правильный и ясный ответ, поэтому я решил задать его здесь.Как запретить наследование метода init?
Я создаю класс А и определить метод инициализации там:
@interface A : NSObject
- (id)initWithHealth:(int)hp;
@end
Тогда я создаю класс B, который наследуется от класса А и определить другой метод инициализации есть:
@interface B : A
- (id)initWithHealth:(int)hp andDamage:(int)dmg;
@end
В основном, когда я собираюсь создать экземпляр объекта из класса B, я буду предлагать Xcode использовать либо - (id) initWithHealth: (int) hp; OR - (id) initWithHealth: (int) hp andDamage: (int) dmg; метод init. Как я могу запретить классу B наследовать метод init из класса A? Я хочу, чтобы мой класс B имел только один метод init, который я определяю. Есть ли способ достичь этого?
Заранее благодарен.
Нет, но вы можете отключить метод A в классе B: http://stackoverflow.com/a/5772821/412916 – Jano