? ?最近由于找工作的事情看了些面試題,基本面試題中都會(huì)提到類別和擴(kuò)展之間的區(qū)別和聯(lián)系??戳诵?shū)籍和博客基本都是寫了些區(qū)別,而我又是個(gè)沒(méi)有代碼不能完全理解的人,就自己寫了個(gè)小demo記錄一下。
?關(guān)于類別:類別很好理解,就是在不知道原有類的代碼的情況下為類添加新的方法。值得注意的是只能添加新的方法。另外一點(diǎn)是如果你重寫了原類的方法,調(diào)用時(shí)會(huì)優(yōu)先調(diào)用類別的方法。
關(guān)于擴(kuò)展:很多文章都只是說(shuō)擴(kuò)展是類別的特例,這種說(shuō)法是沒(méi)有錯(cuò)的。只是本人有點(diǎn)愚笨,在沒(méi)有實(shí)例的情況下有的時(shí)候?qū)嵲跓o(wú)法理解。其實(shí)可以這么想,我們?yōu)槟硞€(gè)類添加私有的屬性和方法時(shí)一般寫在該類.m文件的

擴(kuò)展
中。而擴(kuò)展則是將該部分單獨(dú)的抽出來(lái)成為一個(gè).h文件,其實(shí)質(zhì)還是給類添加私有屬性和方法
以下是自己寫了個(gè)小Demo,希望能夠?qū)斫鈹U(kuò)展有所幫助。