昨天教enum 今天會教大家class 和 struct
這兩個在swift很常用到 所以大家要熟練哦
class 可以把他想像成一個人 然後每個人都有 名字 身高 體重 等特徵
為什麼要創一個class呢 因為如果未來我們需要統計每個人
那用class就可以很方便讓我們去運用
先創一個class 具有3個屬性
然後使用init()可以讓我們對class做初始化
self表示當前實例的對象 這樣可以讓參數賦值给class的屬性
首先我們創一個class的實例 因為我們有使init()
所以創實例的時候就要這樣寫然後給值
那這個實例的屬性就會被存起來囉
因為 class 是引用類型 他們實際上是引用同一個實例
我們將 people1 賦值給 people2 後 再修改people2 的name
你會發現 原先people1的 Name 也被蓋掉了
因此你如果想要再創一class的實例 就是要向People去呼叫
跟class其實很相似 但是struct帶參數進去不需要自己寫一個init()
跟Class相比 你會發現一模一樣的Code 但是輸出結果卻不一樣
因為 Struct 是值類型 繼續往下看
在 Swift中,數據類型可以分為引用類型和值類型
引用類型的有Class 和 Closure
值類型的有Struct、enum和Array等
它們共享相同的數據 如果修改其中一个引用的对象
所有引用都會被修改 因為兩個的記憶體空間是一樣的
它們不是共享實例 每個變量或常量都持有自己的數據拷貝
因此修改一個變量的值不會影響其他變量。