Swift語言中class、struct、enum的聯絡與區別

Hydrogen發表於2015-11-24

相同點

  • 三者都可以擁有屬性和方法(enum本身不能儲存屬性,但是可以儲存在其關聯資訊中,可以有計算屬性)

  • 都可以擁有函式

  • class和struct可以擁有自己的構造器

不同點

  • 類可以繼承

  • 類可以內省和轉型

  • struct、enum為值型別,class為引用型別

  • 類方法用class關鍵詞宣告,enum、struct用static關鍵詞

  • 用mutaing關鍵詞宣告要修改struct、enum內容的方法

  • 結構體適合基本資料型別

相關文章