1. 程式人生 > >[Swift]關鍵字:Self、self與super

[Swift]關鍵字:Self、self與super

Self

第三方庫中,首字母大寫的Self。Self 不僅指代的是 實現該協議的型別本身,也包括了這個型別的子類。

1.Self可以用於協議(protocol)中限制相關的型別
2.Self可以用於類(Class)中來充當方法的返回值型別

 

self

可以用在型別後面取得型別本身,也可以用在例項後面取得這個例項本身。

 

super 關鍵字
當子類中重寫父類中的方法,屬性或者下標指令碼,有時在重寫版本中使用已經存在的父類實現會大有益處,比如,可以完善已經實現的行為,或者在一個繼承來的變數中儲存一個修改過的值,訪問父類的成員使用的是 super 字首,
super 的用處

1、訪問父類的屬性,在屬性的getter和setter的重寫中實現,可以通過 super.someProperty 來訪問父類版本的someProperty

2、訪問父類的方法,在方法 someMethod()的重寫實現中 可以通過 super.someMethod()來呼叫父類版本的someMethod()

3、訪問父類的下標指令碼,在下標指令碼的重寫實現中,可以通過 super[someIndex] 來訪問父類版本中的相同下標指令碼