oc中 結構體與類的區別

共同點: 都可以將多個數據封裝為一個整體

不同點:

--1. 結構體只能封裝數據 類可以封裝行為
--2.結構體在內存中存在于棧上, 類對象存放于堆中
1. 棧的特點: 分配空間小 但是存在棧上的數據訪問效率高
2. 堆的特點: 分配空間相對較大, 但是數據訪問相對于棧,效率底下
-- 3. 結構體的賦值是copy, 類對象的賦值是地址賦值
-- 4. 類屬性可以是結構體, 類具有繼承

使用場景:

--1. 如果封裝的不僅有數據還有方法, 只能使用類
--2. 如果表示實體, 沒有方法,只有屬性
1. 如果屬性較少,只有幾個的情況下,就定義為結構體, 存放棧中, 方便調用
2. 如果屬性較多,就不要定義為結構體,因為這樣的結構體在棧中會占用很多空間,反而會影響效率

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 從三月份找實習到現在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發崗...
    時芥藍閱讀 42,374評論 11 349
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,217評論 30 472
  • 這篇文章是我之前翻閱了不少的書籍以及從網絡上收集的一些資料的整理,因此不免有一些不準確的地方,同時不同JDK版本的...
    高廣超閱讀 15,738評論 3 83
  • 1. 使用 #import 相對c的 include 是防止頭文件的重復導入 2. NSLog 相對于 print...
    迎風起飛的豬閱讀 1,780評論 6 9
  • 摘自《我的阿勒泰》 作者李娟 我媽進城看到市場里補鞋子的生意怪好,也想干??蓜e人說干這行得先當徒弟,至少得跟師一年...
    讀書聯盟_Caroline閱讀 2,802評論 0 1