你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 《從零開始學Swift》學習筆記(Day 36)——靜態方法

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

編輯:IOS開發綜合
靜態方法與靜態屬性類似,Swift中定義了靜態方法,也稱為類型方法。靜態方法的定義與靜態屬性類似,枚舉和結構體的靜態方法使用的關鍵字是static;類靜態方法使用的關鍵字是class或static,如果使用static定義,則該方法不能在子類中被重寫(override);如果使用class定義,則該方法可以被子類重寫。
結構體靜態方法
看一個結構體靜態方法的示例,代碼如下:

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))

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

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))    //調用靜態方法

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

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

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

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved