《從零開始學Swift》學習筆記(Day 36)——靜態方法

原創文章,歡迎轉載。轉載請註明:關東昇的博客php

靜態方法與靜態屬性相似,Swift中定義了靜態方法,也稱爲類型方法。靜態方法的定義與靜態屬性相似,枚舉和結構體的靜態方法使用的關鍵字是static;類靜態方法使用的關鍵字是classstatic若是使用static定義,則該方法不能在子類中被重寫(override);若是使用class定義,則該方法能夠被子類重寫。java

結構體靜態方法微信

看一個結構體靜態方法的示例,代碼以下:ide

       struct Account {     var owner: String = "Tony"                //聲明實例屬性帳戶名     static var interestRate: Double = 0.0668 //聲明靜態屬性利率     static func interestBy(amount: Double) -> Double {//定義靜態方法         return interestRate * amount     }     func messageWith(amount: Double) -> String {      //定義實例方法         let interest = Account.interestBy(amount)         return "\(self.owner) 的利息是\(interest)"     } } //調用靜態方法 print(Account.interestBy(10_000.00)) var myAccount = Account()    //調用實例方法 print(myAccount.messageWith (10_000.00))

枚舉靜態方法網站

    看一個枚舉靜態方法的示例,代碼以下:spa

enum Account {         case 中國銀行     case 中國工商銀行     case 中國建設銀行     case 中國農業銀行         static var interestRate: Double = 0.0668   //聲明靜態屬性利率         static func interestBy(amount: Double) -> Double {    //定義靜態方法         return interestRate * amount     } }   //調用靜態方法 print(Account.interestBy(10_000.00 ))    //調用靜態方法

     從示例能夠看出,結構體和枚舉的靜態方法使用定義沒有區別。.net

類靜態方法設計

看一個類靜態方法的示例,代碼以下:rest

class Account {         var owner: String = "Tony"                //帳戶名     //能夠換成static     class func interestBy(amount: Double) -> Double { //使用關鍵字class定義靜態方法         return 0.08886 * amount     } }   //調用靜態方法 print(Account.interestBy(10_000.00 ))    //調用靜態方法


歡迎關注關東昇新浪微博@tony_ 關東昇。code

關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
 
更多精品iOSCocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php

相關文章
相關標籤/搜索