静态方法与静态属性类似,Swift中定义了静态方法,也称为类型方法。静态方法的定义与静态属性类似,枚举和结构体的静态方法使用的关键字是static;类静态方法使用的关键字是class或static,如果使用static定义,则该方法不能在子类中被重写(override);如果使用class定义,则该方法可以被子类重写。

结构体静态方法

看一个结构体静态方法的示例,代码如下:

  1. struct Account {
  2. var owner: String = "Tony"                //声明实例属性账户名
  3. static var interestRate: Double = 0.0668  //声明静态属性利率
  4. static func interestBy(amount: Double) -> Double {//定义静态方法
  5. return interestRate * amount
  6. }
  7. func messageWith(amount: Double) -> String {      //定义实例方法
  8. let interest = Account.interestBy(amount)
  9. return "\(self.owner) 的利息是\(interest)"
  10. }
  11. }
  12. //调用静态方法
  13. print(Account.interestBy(10_000.00))
  14. var myAccount = Account()
  15. //调用实例方法
  16. print(myAccount.messageWith (10_000.00))

枚举静态方法

看一个枚举静态方法的示例,代码如下:

  1. enum Account {
  2. case 中国银行
  3. case 中国工商银行
  4. case 中国建设银行
  5. case 中国农业银行
  6. static var interestRate: Double = 0.0668   //声明静态属性利率
  7. static func interestBy(amount: Double) -> Double {    //定义静态方法
  8. return interestRate * amount
  9. }
  10. }
  11. //调用静态方法
  12. print(Account.interestBy(10_000.00 ))    //调用静态方法

从示例可以看出,结构体和枚举的静态方法使用定义没有区别。

类静态方法

看一个类静态方法的示例,代码如下:

    1. class Account {
    2. var owner: String = "Tony"                 //账户名
    3. //可以换成static
    4. class func interestBy(amount: Double) -> Double { //使用关键字class定义静态方法
    5. return 0.08886 * amount
    6. }
    7. }
    8. //调用静态方法
    9. print(Account.interestBy(10_000.00 ))    //调用静态方法

Swift—静态方法-备的更多相关文章

  1. Swift静态方法

    与静态属性类似,Swift中还定义了静态方法,也称为类型方法,所谓“类型”是指枚举.结构体和类.静态方法定义的方法也是与静态属性类似的,枚举和结构体的静态方法使用的关键字是static,类的静态方法使 ...

  2. Swift—重写-备

    ========================= 重写实例属性 我们可以在子类中重写从父类继承来的属性,属性有实例属性和静态属性之分,他们在具体实现也是不同的. 实例属性的重写一方面可以重写gett ...

  3. Swift—析构函数-备

    与构造过程相反,实例最后释放的时候,需要清除一些资源,这个过程就是析构过程.在析构过程中也会调用一种特殊的方法deinit,称为析构函数.析构函数deinit没有返回值,也没有参数,也不需要参数的小括 ...

  4. Swift—下标-备

    看下面的示例代码是不是使用过: var studentList: String[]  = ["张三","李四","王五"] studentL ...

  5. swift闭包-备

    我给Swift 中的闭包一个定义:闭包是自包含的匿名函数代码块,可以作为表达式.函数参数和函数返回值,闭包表达式的运算结果是一种函数类型. Swift中的闭包类似于Objective-C中的代码块.J ...

  6. Swift—扩展声明-备

    声明扩展的语法格式如下: extension 类型名 { //添加新功能 } 声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类.结构体和枚举,但是我们仍然可以扩展整型. ...

  7. 《从零开始学Swift》学习笔记(Day 36)——静态方法

    原创文章,欢迎转载.转载请注明:关东升的博客 静态方法与静态属性类似,Swift中定义了静态方法,也称为类型方法.静态方法的定义与静态属性类似,枚举和结构体的静态方法使用的关键字是static:类静态 ...

  8. Swift 备忘单和快速参考

    Variables var myInt = var myExplicitInt: Int = // explicit type var x = , y = , z = // declare multi ...

  9. Using Swift with Cocoa and Objective-C(Swift 2.0版):开始--基础设置-备

    这是一个正在研发的API或技术的概要文件,苹果公司提供这些信息主要是为了帮助你通过苹果产品使用这些技术或者编程接口而做好计划,该信息有可能会在未来发生改变,本文当中提到的软件应该以最终发布的操作系统测 ...

随机推荐

  1. 查看Linux发行版的名称和版本号

    Method #1: /etc/*-release file 在Terminal中执行命令: cat /etc/*-release 我的输出结果: DISTRIB_ID=Ubuntu DISTRIB_ ...

  2. JavaScript中依赖注入详细解析

    计算机编程的世界其实就是一个将简单的部分不断抽象,并将这些抽象组织起来的过程.JavaScript也不例外,在我们使用JavaScript编写应用时,我们是不是都会使用到别人编写的代码,例如一些著名的 ...

  3. Alert Views

    Alert views display a concise and informative alert message to the user. Alert views convey importan ...

  4. jquery cycle pugin

    插件地址: http://jquery.malsup.com/cycle/ <div id="propaganda"><div id="pgdImg&q ...

  5. JavaScript 阻止默认时间和冒泡时间

    <!DOCTYPE HTML><html> <head> <title>event cancel</title> </head> ...

  6. BitBlt介绍

    设备上下文画图有非常多种方法.比如通过创建位图画刷,利用其填充一个区域来实现图像的绘制.此外,还能够使用CDC类的位图函数来输出位图到设备上下文中. BitBlt 用于从原设备中复制位图到目标设备,语 ...

  7. android:allowbackup="true"

    <application android:allowBackup="false" android:label="@string/app_name"> ...

  8. HDU 4280 Island Transport(网络流)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=4280">http://acm.hdu.edu.cn/showproblem.php ...

  9. Jquery UI的datepicker插件使用

    原文链接;http://www.ido321.com/375.html Jquery UI是一个非常丰富的Jquery插件,而且UI的各部分插件能够独自分离出来使用.这是其它非常多Jquery插件没有 ...

  10. 小学生之SpringMVC

    1. Springmvc是什么? Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基 ...