Note 8 類的繼承,extension與protocol

繼承

//父類的變量可以引用子類的對象

var ani: Animal //父類的方法eat()
ani = Dog()    //子類里面有拓展的方法bite()
var dog1 : dog

不能用子類的變量引用父類的對象

//dog1 = Animal()
ani.eat()
//ani.bite() 不可用子類對象里的拓展方法
//ani的類型是Animal類型,雖然存的是子類的內(nèi)容
//只能用繼承父類的屬性或者方法
func getInfo(animal: Animal){
    //這樣animal的類型可以是Animal的子類
    //例如Animal的子類有Dog,Cat
    //dog1 = Dog() getInfo(dog1) 
    //cat1 = cat() getInfo(cat1)
    //這也用可以提高代碼的通用性
}

一個操作執(zhí)行時,是根據(jù)實際引用的對象類型決定,而不是根據(jù)變量的類型決定

  • 子類具有父類所有的功能
  • 子類可以重新定義父類的一些功能(方法):方法前面加override
  • Swift只支持單繼承
  • 子類可以在父類的基礎(chǔ)上進行拓展

訪問權(quán)限的控制

  • 權(quán)限:internal/pravite/public
  1. 默認為internal:在當前應(yīng)用或模塊可見
  2. pravite: 在當前文件中使用
  3. public: 在其他地方都可見

成員的權(quán)限不能超過類的權(quán)限

extension & protocol

  • 繼承(Inheritance):主要目的是重用代碼,父類給子類提供公共代碼
  • 實現(xiàn):提供約束,將不同的類型按行為非分類

成員屬性

  • 存儲屬性:類中可以直接存儲數(shù)據(jù)的屬性
  • 計算屬性:本身不能存儲數(shù)據(jù),而是從對象中的其它數(shù)據(jù)計算而來的

1.extension

  1. 給一類增加功能
  2. 將一個類拆分為多個小的部分,方便代碼管理與維護
  3. 可以給已有的類型增加新的功能,包括方法和計算屬性
  4. 不能新增存儲屬性

2.protocol

  1. 將沒有公共父類,但是有類似行為的對象歸為同類

  2. 在類或擴展中實現(xiàn)協(xié)議中的屬性或者方法

  3. 同一個類可以實現(xiàn)多個協(xié)議,多個協(xié)議用逗號隔開

簡單來說是將一些沒父類關(guān)系的類,劃分在一起,使代碼通用性更強

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昵时,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瓤湘,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恩尾,死亡現(xiàn)場離奇詭異弛说,居然都是意外死亡,警方通過查閱死者的電腦和手機翰意,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門木人,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猎物,你說我怎么就攤上這事虎囚。” “怎么了蔫磨?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵淘讥,是天一觀的道長。 經(jīng)常有香客問我堤如,道長蒲列,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任搀罢,我火速辦了婚禮蝗岖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榔至。我一直安慰自己抵赢,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铅鲤,像睡著了一般划提。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邢享,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天鹏往,我揣著相機與錄音,去河邊找鬼骇塘。 笑死伊履,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的款违。 我是一名探鬼主播唐瀑,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼奠货!你這毒婦竟也來了介褥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤递惋,失蹤者是張志新(化名)和其女友劉穎柔滔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萍虽,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡睛廊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了杉编。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片超全。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖邓馒,靈堂內(nèi)的尸體忽然破棺而出嘶朱,到底是詐尸還是另有隱情,我是刑警寧澤光酣,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布疏遏,位于F島的核電站,受9級特大地震影響救军,放射性物質(zhì)發(fā)生泄漏财异。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一唱遭、第九天 我趴在偏房一處隱蔽的房頂上張望戳寸。 院中可真熱鬧,春花似錦拷泽、人聲如沸疫鹊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拆吆。三九已至虏辫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锈拨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工羹唠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奕枢,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓佩微,卻偏偏與公主長得像缝彬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哺眯,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,776評論 1 10
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理谷浅,服務(wù)發(fā)現(xiàn),斷路器奶卓,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 一直覺得喜歡畫畫的人心里一定住著小精靈 一疯,所以今天也分享下自己的繪畫過程。 因為一些原因沒有把每一個步驟都拍下來夺姑,...
    糖糖醬閱讀 394評論 0 2
  • 累世情緣盏浙,誰撿起眉睹,誰拋下,誰忘前塵废膘,誰總牽掛竹海。憶當時年華,誰點相思丐黄,誰種桃花斋配。 三生三世十里桃花——唐七公子 有一...
    薄荷味的夏天1009閱讀 249評論 0 0