類與結(jié)構(gòu)體

在 OC 中:
1.結(jié)構(gòu)體只能封裝屬性,而類不僅可以封裝屬性還可以封裝方法.
2.結(jié)構(gòu)體變量分配在棧,OC 對象分配在堆.
?3結(jié)構(gòu)體賦值是直接賦值的值,而對象是指針賦值.

Swift 中類和結(jié)構(gòu)體有很多共同點。共同處在于:
定義屬性用于儲存值
定義方法用于提供功能
定義下標(biāo)用于通過下標(biāo)語法訪問值
定義初始化器用于生成初始化值
通過擴(kuò)展以增加默認(rèn)實現(xiàn)的功能
符合協(xié)議以對某類提供標(biāo)準(zhǔn)功能

與結(jié)構(gòu)體相比,類還有如下的附加功能:
繼承允許一個類繼承另一個類的特征
類型轉(zhuǎn)換允許在運行時檢查和解釋一個類實例的類型
取消初始化器允許一個類實例釋放任何其所被分配的資源
引用計數(shù)允許對一個類的多次引用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容