存儲屬性
計算屬性
值類型
String Array Dictionary
值的拷貝。
結構體和枚舉是值類型。默認情況下,值類型屬性不能被自身的實例方法修改。結構體和枚舉是值類型。
引用類型
引用類型被賦值到一個常量,變量或者本身被傳遞到一個函數的時候它是
不會被拷貝
的。相對于拷貝,這里使用的是同一個對現存實例的引用。
實例方法
是屬于特定類實例、結構體實例或者枚舉實例的函數。他們為這些實例提供功能性,要么通過提供訪問和修改實例屬性的方法,要么通過提供與實例目的相關的功能。(更新實例屬性的方法 ,為類而生存)
先說實例方法,當你給一個類寫一個方法,如果該方法需要訪問某個實例的成員變量時,那么就將該方法定義成實例方法。一類的實例通常有一些成員變量,其中含有該實例的狀態信息。而該方法需要改變這些狀態。那么該方法需要聲明成實例方法。
類型方法
定義在類型本身調用的方法。。你可以通過在
func
關鍵字之前用static
關鍵字來明確一個類型方法。類同樣可以使用class
關鍵字來允許子類重寫父類對類型方法的實現。
在類型方法的函數體中,隱含的 self屬性指向了類本身而不是這個類的實例。
它不需要訪問某個實例的成員變量,它不需要去改變某個實例的狀態。我們把該方法定義成靜態方法。
實例屬性
實例屬性是屬于特定類型實例的屬性。每次你創建這個類型的新實例,它就擁有一堆屬性值,與其他實例不同。
類型屬性
使用
static
關鍵字,類型的計算類型屬性,你可以使用class
關鍵字來允許子類重寫父類的實現。
屬于類型本身的屬性,不是這個類型的某一個實例的屬性。這個屬性只有一個拷貝,無論你創建了多少個類對應的實例。這樣的屬性叫做類型屬性。