日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类目,延展,协议的基本概念

發布時間:2024/4/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类目,延展,协议的基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Catgory(類目/分類 ? ? 1.分類是給原有類添加方法,它只能添加方法,不能添加屬性(成員變量) ? ? 2.分類中定義@property,只會生成setter/getter方法的聲明,沒有方法的實現以及私有變量。 ? ? 3.分類中的方法不能和本類的方法名相同,否則會有警告,而且調用的時候會優先調用分類的方法,即覆蓋本類的方法。 ? ? ? 4.分類的方法和實現分開,一對多,1個.h文件對應多個.m文件,典型的分散實現; 延展(Extension) ?1.延展為類創建私有方法,一個.m文件對應多個.h文件,分配權限時可以用(想用哪一個,就導入哪一個頭文件) 協議(protocol) 1.協議相當于其它語法里的接口(抽象類)它只有聲明沒有實現。它可以聲明一些必須實現的方法(默認的是必需實現required),也可以聲明一些不一定實現的方法(@ optional)協議是誰遵循誰實現。一個類可以遵循多個協議,一個協議也可以遵循其他協議(多繼承)。 2.判斷對象是否遵循協議confromsToprotocol,是否實現協議:respondsToSelector. protocol和繼承的區別:1.繼承之后默認就有實現,而property只有聲明沒有實現。2.相同類型的類可以用繼承,但是不同類型的類只能使用property。3.property可以用于存儲方法的聲明,可以將 多個類中共同的方法抽取出來,以后讓這些類遵守協議即可。 3.協議的的應用場景:類型的限制,可以將協議寫在數據類型的右邊,明確的標注如果想給該變量賦值,那么該對象必須遵守某個協議。 Persong<protocol> *w = [Person new];@property (strong nonatomic) Wife<protocol> *wife;類型限定寫在數據類型的右邊 1.當A對象想監聽B對象的一些變化是,可以使用代理設計模式2.當B對象發生一些事情,想通知A對象的時候,可以使用代理模式。當A對象無法處理某些事情時,想讓B對象幫忙處理。

轉載于:https://www.cnblogs.com/liumu/p/5236627.html

總結

以上是生活随笔為你收集整理的类目,延展,协议的基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。