《从零开始学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