Swift的類和結(jié)構(gòu)體具有以下相同的特點(diǎn):
- 可以定義屬性來保存值
- 可以定義方法來提供功能
- 可以定義下標(biāo)來使用他們的值
- 可以定義初始化器來配置他們的初始化狀態(tài)
- 可以在默認(rèn)的實(shí)現(xiàn)上擴(kuò)展他們的功能
- 遵從協(xié)議來提供標(biāo)準(zhǔn)的功能
類具有結(jié)構(gòu)體沒有的額外的功能:
- 繼承允許某一個(gè)類繼承另外一個(gè)類的特性
- 類型轉(zhuǎn)換允許你檢查并在運(yùn)行時(shí)解釋一個(gè)類實(shí)例的類型
- 析構(gòu)器允許釋放所有該類已經(jīng)賦值的實(shí)例資源
- 引用計(jì)數(shù)允許多個(gè)引用一個(gè)類的實(shí)例
結(jié)構(gòu)體一般來說賦值的時(shí)候是直接拷貝的,沒有使用引用計(jì)數(shù)的機(jī)制