在 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ù)允許對一個類的多次引用