2012-11-12 98 views
0

可能重複:
Difference between inheritance and Categories in Objective-c
What’s the difference and use of categories and inheritance?子類和類別之間的區別?

感謝您的回覆,例如,如果我們想方法添加到類,沒有必要創建類別,我們有NSString類爲此,我們可以將其子類化,但爲什麼我們使用類別?請在此幫助

+1

和以前的問題有什麼不同嗎? http://stackoverflow.com/questions/13344075/whats-the-difference-and-use-of-categories-and-inheritance – vikingosegundo

+0

...這是另一個問題的副本。 – woz

回答

10

類別增加了一些額外的功能,以指定c類(例如NSString)。你不需要用那個特定的類名聲明對象。您只導入該類別,並且所有對象都隱式地成爲該類別的實例,現在所有的實現都可以使用它們。

哪裏繼承的時候,(有時你能全神貫注地需要重寫現有的行爲/方法或者您也可以添加額外的功能。)您明確聲明對象與該類型像

MyCustomString *string; 

,然後所有的方法變得可見。

+3

Objective-C類別用於將**方法添加到類中,而不是**重寫**方法。見例如這個討論:http://stackoverflow.com/a/5272612/1187415 –

+0

@MartinR:是的,你是對的。 –