2010-10-07 10 views
5

Posso ereditare da più classi in Objective-C? (Se sì, in che modo?)Superclassi multiple in Objective-C?

+1

Piuttosto sicuro che l'obiettivo-c non ha ereditarietà multipla. – jps

+5

Non è così, ma questa è una domanda perfettamente valida. Non c'è bisogno di downvotare (ho upvoted per bilanciare il -1). – bbum

risposta

7

Come altri hanno già detto, l'Objective-C è a ereditarietà singola. Tuttavia, protocols fornisce pratici modi per aggirare qualsiasi tipo di situazione che si potrebbe desiderare per ereditarietà multipla e consentono di evitare le insidie ​​create da più ereditarietà, ad esempio The Diamond Problem.

Modifica: modifica l'interfaccia al protocollo. Scusa, stiamo mescolando Java e Obj-C.

+0

Eh? "interface" è solo la dichiarazione della classe in Obj-C. –

+0

Modifica della registrazione originale. Ho risolto la mia terminologia. – Anthony

2

No, Objective-C è solo ereditaria.

Considerare l'aspetto di protocols che è un modo di esporre un'interfaccia dichiarata da una classe. Non è la stessa eredità multipla, ma risolve alcuni bisogni.