输入属性
类型属性是类型本身的属性,而不是实例上的属性。它们既可以是存储也可以是计算属性。使用 static
声明一个 type 属性:
struct Dog {
static var noise = "Bark!"
}
print(Dog.noise) // Prints "Bark!"
在类中,你可以使用 class
关键字而不是 static
来使其可覆盖。但是,你只能将其应用于计算属性:
class Animal {
class var noise: String {
return "Animal noise!"
}
}
class Pig: Animal {
override class var noise: String {
return "Oink oink!"
}
}
这通常与单例模式一起使用 。