Swift學習筆記系列 (10)方法

2021-07-03 22:55:04 字數 893 閱讀 2381

tags: swift 學習筆記

類、結構體和列舉都可以定義方法,而oc中只有類可以這樣做。

方法分為:例項方法和型別方法。前者屬於型別的乙個例項,後者屬於型別。

語法和函式一樣。

預設情況下,swift方法的第乙個引數名之作為本地名字使用,但是後面的引數名同時作為內部和外部引數名使用。

沒必要在給第乙個引數定義外部引數名稱,因為第乙個引數的意義很清楚了。在方法呼叫的時候,從第二個引數開始,就需要制定引數的外部名稱了。

這樣的要求和oc中一致。

指定外部引數名

使用「#」字首標記內部名;指定乙個外部引數名

不指定外部引數名

使用「_」放置在內部引數名之前

指代例項自身。

在方法內,多數情況下self不必寫。

方法的引數名和例項的屬性名相同,這時不得不用self區分二者,不寫self都會被當作引數處理。

注意:不是修改型別屬性

結構體和列舉是值型別的。預設情況下,值型別的屬性無法通過它的例項方法進行修改。

用「mutating」 標記方法,稱為變異方法。

變異方法可以在方法內可以修改屬性,而且任何做過的修改在方法結束後會寫回到原始的結構中。變異方法也可以分配乙個新的例項給它隱含的self,當方法結束,新的例項將會替代原來已經存在的。

用「static」標記型別方法,對於類中允許子類複寫的型別方法,用「class」關鍵字標記。

型別方法中的selft指代型別,而不是例項。

同樣型別方法中的引用,預設為型別本身的屬性和方法。

要理解結構體和列舉的型別 和例項的區別。

Java學習筆記(10) 方法

方法 什麼是方法 乙個演算法邏輯功能的封裝,是一般完成乙個業務功能,如 登陸系統,建立聯絡人,簡單說 方法是動作,是動詞。方法名 一般按照方法實現的功能定名,一般使用動詞定義,如 login createcontact createanswer 方法引數 是方法的前提條件,是方法執行依據,是資料,如...

swift 學習 12 方法

方法 是與某些特定型別相關的函式.類,結構體,列舉 都可以定義例項方法,例項方法為給型別的例項封裝了具體的任務與功能.類,結構體,列舉 也可以定義型別方法,型別方法與型別本身相關聯,型別方法與 oc 中的 類方法 類似 結構體和列舉 能夠定義方法 是 swift 與 c語言 和 oc 的主要區別之一...

Go學習 10 方法

go 語言中同時有函式和方法。乙個方法就是乙個包含了接受者的函式,接受者可以是命名型別或者結構體型別的乙個值或者是乙個指標。所有給定型別的方法屬於該型別的方法集 方法只是乙個函式,它帶有乙個特殊的接收器型別,它是在func關鍵字和方法名之間編寫的。接收器可以是struct型別或非struct型別。接...