<aside>
🥥 Swift
语言中结构体、枚举和类都可定义方法。
</aside>
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)
print("The point is now at (\\(somePoint.x), \\(somePoint.y))")
// 打印“The point is now at (3.0, 4.0)”
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
self = Point(x: x + deltaX, y: y + deltaY)
}
}
enum TriStateSwitch {
case off, low, high
mutating func next() {
switch self {
case .off:
self = .low
case .low:
self = .high
case .high:
self = .off
}
}
}
var ovenLight = TriStateSwitch.low
ovenLight.next()
// ovenLight 现在等于 .high
ovenLight.next()
// ovenLight 现在等于 .off
<aside>
🍤 类型方法是在方法 func
前添加 static
关键字。
类的类型方法可以使用 class
表示类型方法,此时,子类可以重写该方法。
</aside>
<aside>
🐶 Swift
中,类型、枚举和结构体都可添加类型方法。
</aside>