您的位置:首页 > 移动开发 > Swift

swift 学习记录(静态方法)

2015-12-22 11:05 302 查看
实例方法是被类型的某个实例调用的方法。

静态方法是被类型本身调用的方法。

定义静态方法的关键字和 静态属性一样,使用 static 关键字。在类中 使用 class 关键字定义的静态方法,可以供子类重写

struct SomeStructure {

static func computedTypeProperty()->Int{ //静态方法
return 10
}
}
enum SomeEnumeration {
static func computedTypeProperty()->Int{
return 60
}
}
class SomeClass{

static func computedTypeProperty()->Int{  //static修饰的静态方法不能被重写
return 270
}
class  func overrideableComputedTypeProperty()->Int {
return 1024
}
}
class SubClass: SomeClass{
//子类重写父类的静态方法(使用override关键字来重写)

override static func overrideableComputedTypeProperty()->Int{
return 2048
}

}
访问静态方法

访问静态方法和访问静态属性一样,使用 “类型名.方法名”

print(SomeStructure.computedTypeProperty())
//10

print(SomeEnumeration.computedTypeProperty())
//60
print(SomeClass.computedTypeProperty())
//270
print(SomeClass.overrideableComputedTypeProperty())//调用父类的overrideableComputedTypeProperty 方法
//1024
print(SubClass.overrideableComputedTypeProperty())
//2048
在静态方法体中 self 指的是类型本身而不是类型的某个实例。结构体 和 枚举 可以用 self 来消除 静态属性 和静态方法参数的歧义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: