OC中繼承和類別的區(qū)別:
聯(lián)系:
可以給一個(gè)類擴(kuò)展新的方法,或修改已用的方法;
區(qū)別:
(1)繼承修改的方法不會(huì)對(duì)父類原方法產(chǎn)生影響;類別修改的方法相當(dāng)于替換了原有方法;
(2)以viewController為例,繼承一個(gè)ViewController相當(dāng)于建立一個(gè)新的頁(yè)面;而給一個(gè)ViewController添加類別用于增加或修改原ViewController上的方法;
(3)類別支持開發(fā)人員針對(duì)自己構(gòu)建的類,把相關(guān)的方法分組到多個(gè)單獨(dú)的文件中,對(duì)于大型而復(fù)雜的類,這有助于提高 可維護(hù)性,并簡(jiǎn)化單個(gè)源文件的管理;
(4)針對(duì)系統(tǒng)提供的一些類,例如:NSString,NSArray,NSNumber等類,系統(tǒng)本身不提倡使用繼承去擴(kuò)展方法,因?yàn)檫@些類內(nèi)部實(shí)現(xiàn)對(duì)繼承有所限制,所以最后使用類別進(jìn)行方法擴(kuò)展;
(5)理論上類別不能新增屬性。