面試問題之五:類別 擴展 繼承

類別

類別是一種為現(xiàn)有的類添加新方法的方式。

利用Objective-C的動態(tài)運行時分配機制侨嘀,可以為現(xiàn)有的類添加新方法,為現(xiàn)有的類添加新方法的方式稱為類別catagory

1、聲明類別

聲明類別與聲明類的形式很相似

@interface? NSString(TestCateory)

-(int)lengthString;

@end

兩個特點:(1)現(xiàn)有的類位于@interface關(guān)鍵字之后惭墓,其后是位于圓括號中的類別名稱。同名類別有唯一性而姐,可以添加任意多的不同名類別腊凶。

(2)可以向其添加類別的類以及類別的名稱,列出添加的方法, 不可以添加新的實例變量拴念。

2钧萍、實現(xiàn)類別

@implementation NSString(TestCateory)

-(int)lengthString{

}

@end //在實現(xiàn)部分也包括類名、類別名和新方法的實現(xiàn)代碼

3政鼠、類別的局限性

有兩方面局限性:

(1)無法向類中添加新的實例變量.

(2)名稱沖突风瘦,即當類別中的方法與原始類方法名稱沖突時,類別具有更高的優(yōu)先級缔俄。類別方法將完全取代初始方法從而無法再使用初始方法弛秋。

4、類別的作用

類別主要有3個作用:

(1)將類的實現(xiàn)分散到多個不同文件或多個不同框架中俐载。

(2)創(chuàng)建對私有方法的前向引用蟹略。

(3)向?qū)ο筇砑臃钦絽f(xié)議。

擴展

類擴展Class extensions

1,類擴展聲明格式@interface MyClass(), 可以在類擴展中聲明屬性和實例變量遏佣。

2,類的Extension 可以當作是匿名的 category

3,定義在里面的方法不能被其它的 category 覆蓋掉挖炬,因為找不到 reference. 用這個來實現(xiàn)某種意義上的 private method.

繼承

object-c不支持多重繼承,只能單繼承状婶,一個類只能有一個父類意敛。

1,方法重寫:若子類中的方法與父類的某一方法具有相同的方法名、返回類型和參數(shù)表膛虫,則新方法覆蓋原有方法草姻。

2,方法重載:類中可以創(chuàng)建多個方法,他們具有相同的方法名稍刀,但具有不同的參數(shù)和不同的定義撩独,調(diào)用方法時通過傳遞給他們不同個數(shù)和類型的參數(shù)來覺定使用哪個方法敞曹。 方法名一定相同;方法的參數(shù)表必須不同综膀,包括參數(shù)的個數(shù)和類型澳迫,以此區(qū)分不同的方法體; 方法的返回類型和修飾符可以相同也可以不同剧劝。

3,self:一個類中的方法調(diào)用同一個類的另一個方法是使用self橄登,代表本身,相當于this讥此。

4,super:表示父類拢锹,可以使用super訪問父類中被子類隱藏或重寫的方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暂论,一起剝皮案震驚了整個濱河市面褐,隨后出現(xiàn)的幾起案子拌禾,更是在濱河造成了極大的恐慌取胎,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件湃窍,死亡現(xiàn)場離奇詭異闻蛀,居然都是意外死亡,警方通過查閱死者的電腦和手機您市,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門觉痛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茵休,你說我怎么就攤上這事薪棒。” “怎么了榕莺?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵俐芯,是天一觀的道長。 經(jīng)常有香客問我钉鸯,道長吧史,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任唠雕,我火速辦了婚禮贸营,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岩睁。我一直安慰自己钞脂,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布捕儒。 她就那樣靜靜地躺著冰啃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亿笤,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天翎迁,我揣著相機與錄音,去河邊找鬼净薛。 笑死汪榔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的肃拜。 我是一名探鬼主播痴腌,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼燃领!你這毒婦竟也來了士聪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤猛蔽,失蹤者是張志新(化名)和其女友劉穎剥悟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曼库,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡区岗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了毁枯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慈缔。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖种玛,靈堂內(nèi)的尸體忽然破棺而出藐鹤,到底是詐尸還是另有隱情,我是刑警寧澤赂韵,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布娱节,位于F島的核電站,受9級特大地震影響右锨,放射性物質(zhì)發(fā)生泄漏括堤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一绍移、第九天 我趴在偏房一處隱蔽的房頂上張望悄窃。 院中可真熱鬧,春花似錦蹂窖、人聲如沸轧抗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽横媚。三九已至纠炮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灯蝴,已是汗流浹背恢口。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留穷躁,地道東北人耕肩。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像问潭,于是被迫代替她去往敵國和親猿诸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理狡忙,服務發(fā)現(xiàn)梳虽,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法灾茁,類相關(guān)的語法窜觉,內(nèi)部類的語法,繼承相關(guān)的語法删顶,異常的語法竖螃,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,140評論 30 470
  • (一)Java部分 1淑廊、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,104評論 0 62
  • 上一章 風輕揚夏未央(4)—美麗的謊言3 回到家逗余,的確如風輕揚所料,風媽媽看到風輕揚的傷季惩,擔心兒子在外面吃虧录粱,一直...
    AnAn姑娘呀閱讀 524評論 0 1