類定義:
[修飾符] class 類名
結構體定義:
[修飾符] struct 結構體名
修飾符可以是 private | internal | public、類可以用final,結構體不支援繼承而不能用final修飾,或者省略這些修飾符。類和結構體定義通常包含構造器、屬性和方法。
類:
類可以單繼承,可定義屬性(properties)儲存值,定義方法(methods)以提供功能,類的構造器是建立類例項的途徑,如果定義類時沒有定義構造器,則系統會為該類提供乙個預設無引數的構造器。可進行擴充套件(extension)
結構體:
結構(structure)以下特性是結構所不具備的:
繼承使得類可以繼承另乙個類的特性, 在執行時可通過型別轉換(type casting)檢查和解釋某個類例項的型別, 析構方法(deinitializer)可使某個類例項釋放(free up)其被賦予的任何資源, 引用計數(reference counting)允許對某個類例項的多個引用
如果定義結構體時沒有定義構造器,則系統會為該類提供兩個構造器,乙個無引數構造器,乙個初始化所有儲存屬性的構造器。
區別:
協議:
protocol 協議名
協議可以繼承乙個到多個其他協議(多繼承),語法和類繼承相似
protocol 協議名: 繼承協議名1, 繼承協議名2
swift中協議的作用相當於其他語言的介面。
瘋狂swift講義(李剛)
潘老師講義
Swift 面向協議程式設計入門
本文講的是swift 面向協議程式設計入門,class humanclass var classyhuman humanclass name bob classyhuman.name bob var newclassyhuman classyhuman created a copied object...
Swift 面向協議程式設計之協議擴充套件
協議的命名遵循swift的標準庫,即協議名以 type able ible 結尾。例如 sequencetype,generatortype,customstringcoveeertible,type定義行為,able定義元素怎樣做事。swift 能擴充套件協議 協議可以新增方法和屬性 協議擴充套件...
Swift面向協議程式設計入門指北
熟悉objective c語言的同學們肯定對協議都不陌生,在swift中蘋果將protocol這種語法發揚的更加深入和徹底。swift中的protocol不僅能定義方法還能定義屬性,配合extension擴充套件的使用還能提供一些方法的預設實現,而且不僅類可以遵循協議,現在的列舉和結構體也能遵循協議...