繼承

繼承

什么是繼承厕诡?

繼承是指這樣一種能力,它可以使用現(xiàn)有類的所有功能营勤,并在無需重新編寫原來的類的情下對(duì)這些功能進(jìn)行擴(kuò)展灵嫌。

繼承概念的實(shí)現(xiàn)方式的三類:

實(shí)現(xiàn)繼承:實(shí)現(xiàn)繼承是指使用基類的屬性和方法而無需額外編碼的能力;

接口繼承:是指僅使用屬性和方法的名稱葛作、但是子類必須提供實(shí)現(xiàn)的能力寿羞;

可視繼承:是指子窗體(類)使用基窗體(類)的外觀和實(shí)現(xiàn)代碼的能力;


main.m

#import <Foundation/Foundation.h>

#import "Dog.h"

#import "Cat.h"

#import "Animal.h"

#import "Person.h"

#import "Student.h"

int main(int argc, const char * argv[])

{

//? Dog *dog = [Dog new];

//? Animal *dog = [Dog new];

Animal *dog = [Animal new];

[Dog setAge:50];


//? Student *s = [Student new];

//? Persen *s = [Student new];

Persen *s = [Person new];

[s run];

return 0;

}



Dog.h

#import <Foundation/Foundation.h>

#import "Animal.h"

//? @interface 類名 : 父類名

@interface Dog : Animal

{

//? int _age;? //? 報(bào)錯(cuò)

int _b;

}

@end


Dog.m

#import "Dog.h"

@implementation Dog

@end



Cat.h

#import <Foundation/Foundation.h>

#import "Animal.h"

@interface Cat : Animal

@end



Cat.m

#import "Cat.h"

@implementation Cat

@end



/*

繼承:


1>繼承的好處:

1>>抽取重復(fù)的代碼

2>>建立類之間的關(guān)系

3>>子類可以訪問父類的成員變量赂蠢。而且可以調(diào)用父類中的方法


2>注意:

1>>基本上所有的類的根類都是NSObject

2>>子類重寫父類的方法后绪穆,會(huì)把父類的方法給蓋掉

3>>調(diào)用某個(gè)方法時(shí),優(yōu)先調(diào)用當(dāng)前類中的該方法虱岂,如果沒有該方法玖院,那么就去父類中找

4>>父類的聲明必須在子類之前

5>>子類不能聲明跟父類同名的成員變量


3>繼承的壞處:耦合性太強(qiáng)


4>繼承的使用場(chǎng)合:

1>>當(dāng)兩個(gè)類擁有相同的屬性和方法時(shí),就可以把它們的共同點(diǎn)抽取到一個(gè)父類當(dāng)中

2>>當(dāng)A類完全擁有B類中的部分屬性和方法時(shí)第岖,可以讓B類繼承A類


5>不合適的使用場(chǎng)合:不符合我們邏輯思維难菌,不合理的說法時(shí)不能用


//? 組合:A擁有B

//? 繼承:B是A

類A(人)

{

int _age;

int _weight;

}

類B(狗)

{

//? int _age;

//? int _weight;

A *a;

int _hieght;

}

*/


Animal.h

#import <Foundation/Foundation.h>

@interface Animal : NSObject

{

int _age;

int _weight;

}

- (void)setAge:(int)age;

- (void)age;

- (void)setWeight:(int)weight;

- (void)weight;

@end


Animal.m

#import "Animal.h"

@implementation Animal

- (void)setAge:(int)age

{

_age = age;

NSLog(@"調(diào)用set成功%d",_age);

}

- (void)age

{

NSLog(@"調(diào)用get成功%d");

return _age;

}

- (void)setWeight:(int)weight

{

_weight = weight;

}

- (void)weight

{

return _weight;

}

@end



Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject

{

int _age;

}

- (void)setAge:(int)age;

- (int)age;


- (void)run;

@end


Person.m

#import "Person.h"

@implementation Person

- (void)setAge:(int)age

{

_age = age;

}

- (int)age

{

return _age;

}


- (void)run

{

NSLog(@"123");

}

@end


Student.h

#import "Person.h"

@interface Student : Person

@end


Student.m

#import "Student.h"

@implementation Person

- (void)run

{

//? NSLog(@"123");

NSLog(@"321");

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蔑滓,隨后出現(xiàn)的幾起案子郊酒,更是在濱河造成了極大的恐慌遇绞,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猎塞,死亡現(xiàn)場(chǎng)離奇詭異试读,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)荠耽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門钩骇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人铝量,你說我怎么就攤上這事倘屹。” “怎么了慢叨?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵纽匙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我拍谐,道長(zhǎng)烛缔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任轩拨,我火速辦了婚禮践瓷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亡蓉。我一直安慰自己晕翠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布砍濒。 她就那樣靜靜地躺著淋肾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪爸邢。 梳的紋絲不亂的頭發(fā)上樊卓,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音杠河,去河邊找鬼简识。 笑死,一個(gè)胖子當(dāng)著我的面吹牛感猛,可吹牛的內(nèi)容都是我干的七扰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼陪白,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颈走!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咱士,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤立由,失蹤者是張志新(化名)和其女友劉穎轧钓,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锐膜,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毕箍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了道盏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片而柑。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖荷逞,靈堂內(nèi)的尸體忽然破棺而出媒咳,到底是詐尸還是另有隱情,我是刑警寧澤种远,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布涩澡,位于F島的核電站,受9級(jí)特大地震影響坠敷,放射性物質(zhì)發(fā)生泄漏妙同。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一膝迎、第九天 我趴在偏房一處隱蔽的房頂上張望粥帚。 院中可真熱鬧,春花似錦弄抬、人聲如沸茎辐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弛槐,卻和暖如春懊亡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乎串。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工店枣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叹誉。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓鸯两,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親长豁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钧唐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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