類別(category)和繼承的區(qū)別

類別

  • 類別:類別是對一個功能完備的類的一種補(bǔ)充,就像是一個東西的主要基本功能都完成了,可以用類別為這個類添加不同的組件,使得這個類能夠適應(yīng)不同情況的需求囤官。比如animal這個類,具有eat和run等方法蛤虐,想給這個類添加一個bark的方法党饮,可以用類別。

假設(shè)你接到一個大項(xiàng)目:計(jì)算兩個整數(shù)的和驳庭,差刑顺。

#import <Foundation/Foundation>

@interface Calculate :NSObject

@property  int number1,number2;

- (int) sumNumber1:(int)num1 andNumber2: (int)num2;//加法

- (int) subNumber1:(int)num1 andNumber2: (int)num2; //減法

- (void)print;

@end

幾天后,客戶需求發(fā)生變化,不僅需要加法捏检,減法功能荞驴,還要能做到乘除。我們的做法一般是直接在Calculate類中添加乘贯城,除的方法。當(dāng)然在這里是沒有任何問題的霹娄。但是在現(xiàn)實(shí)的項(xiàng)目中能犯,代碼量十分巨大,以及業(yè)務(wù)邏輯相當(dāng)復(fù)雜的情況下犬耻,直接修改之前源代碼是冒有很大的風(fēng)險(xiǎn)的踩晶!我們現(xiàn)在可以利用分類解決這個問題

#import <Foundation/Foundation>

#import”Calculate”//既然是對原有類的接口的擴(kuò)展,所以必須包括原始接口

@interface Calculate(MulAndDiv)//告訴編譯器這是為Calculate定義的分類名為MulAndDiv

- (int) MulNumber1:(int)num1 andNumber2: (int)num2;//乘法

- (int) DivNumber1:(int)num1 andNumber2: (int)num2; //除法

@end


繼承

  • 繼承:多個類具有相同的實(shí)例變量和方法時枕磁,考慮用繼承渡蜻。即子類可以繼承父類的相同特性。如animal具有年齡和體重兩個屬性计济,dog也具有年齡和體重兩 個屬性茸苇,dog可以繼承animal的這兩個屬性,即為繼承沦寂。
  • 共同點(diǎn):都是給一個類進(jìn)行擴(kuò)展
  • 區(qū)別:
    • 1.類別是對方法的擴(kuò)展学密,不能添加成員變量。繼承可以在原來父類的成員變量的基礎(chǔ)上传藏,添加新的成員變量
    • 2.類別只能添加新的方法腻暮,不能修改和刪除原來的方法。繼承可以增加毯侦、修改和刪除方法哭靖。
    • 3.類別不提倡對原有的方法進(jìn)行重載。繼承可以通過使用super對原來方法進(jìn)行重載侈离。
    • 4.類別可以被繼承试幽,如果一個父類中定義了類別,那么其子類中也會繼承此類別霍狰。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抡草,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蔗坯,更是在濱河造成了極大的恐慌康震,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宾濒,死亡現(xiàn)場離奇詭異腿短,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門橘忱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赴魁,“玉大人,你說我怎么就攤上這事钝诚∮庇” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵凝颇,是天一觀的道長潘拱。 經(jīng)常有香客問我,道長拧略,這世上最難降的妖魔是什么芦岂? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮垫蛆,結(jié)果婚禮上禽最,老公的妹妹穿的比我還像新娘。我一直安慰自己袱饭,他們只是感情好川无,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宁赤,像睡著了一般舀透。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上决左,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天愕够,我揣著相機(jī)與錄音,去河邊找鬼佛猛。 笑死惑芭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的继找。 我是一名探鬼主播遂跟,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼婴渡!你這毒婦竟也來了幻锁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤边臼,失蹤者是張志新(化名)和其女友劉穎哄尔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柠并,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岭接,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年富拗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸣戴。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡啃沪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出窄锅,到底是詐尸還是另有隱情创千,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布入偷,位于F島的核電站签餐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盯串。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一戒良、第九天 我趴在偏房一處隱蔽的房頂上張望体捏。 院中可真熱鬧,春花似錦糯崎、人聲如沸几缭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽年栓。三九已至,卻和暖如春薄霜,著一層夾襖步出監(jiān)牢的瞬間某抓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工惰瓜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留否副,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓崎坊,卻偏偏與公主長得像备禀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奈揍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法曲尸,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,227評論 0 2
  • 一.成員變量與局部變量的區(qū)別 成員變量:在類中定義,用來描述對象將要有什么(屬性)男翰×砘迹可被本類方法和其他跟當(dāng)前類有關(guān)...
    jeffierw閱讀 553評論 0 0
  • 面向?qū)ο笾饕槍γ嫦蜻^程。 面向過程的基本單元是函數(shù)奏篙。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,057評論 0 4
  • 類別 類別:類別是對一個功能完備的類的一種補(bǔ)充柴淘,就像是一個東西的主要基本功能都完成了迫淹,可以用類別為這個類添加不同的...
    語安月月鳥閱讀 509評論 0 0
  • 一.Category 分類就是對一個類的功能進(jìn)行擴(kuò)展,,讓這個類能夠適應(yīng)不不同情況的需求.在一般的實(shí)際開發(fā)中,我們...
    Vison_朝花夕拾閱讀 732評論 0 0