可能重複:
Difference between inheritance and Categories in Objective-c
What’s the difference and use of categories and inheritance?子類和類別之間的區別?
感謝您的回覆,例如,如果我們想方法添加到類,沒有必要創建類別,我們有NSString類爲此,我們可以將其子類化,但爲什麼我們使用類別?請在此幫助
可能重複:
Difference between inheritance and Categories in Objective-c
What’s the difference and use of categories and inheritance?子類和類別之間的區別?
感謝您的回覆,例如,如果我們想方法添加到類,沒有必要創建類別,我們有NSString類爲此,我們可以將其子類化,但爲什麼我們使用類別?請在此幫助
類別增加了一些額外的功能,以指定c類(例如NSString
)。你不需要用那個特定的類名聲明對象。您只導入該類別,並且所有對象都隱式地成爲該類別的實例,現在所有的實現都可以使用它們。
哪裏繼承的時候,(有時你能全神貫注地需要重寫現有的行爲/方法或者您也可以添加額外的功能。)您明確聲明對象與該類型像
MyCustomString *string;
,然後所有的方法變得可見。
Objective-C類別用於將**方法添加到類中,而不是**重寫**方法。見例如這個討論:http://stackoverflow.com/a/5272612/1187415 –
@MartinR:是的,你是對的。 –
和以前的問題有什麼不同嗎? http://stackoverflow.com/questions/13344075/whats-the-difference-and-use-of-categories-and-inheritance – vikingosegundo
...這是另一個問題的副本。 – woz