Swift 协议基础
介绍
在Swift中,**协议(Protocol)**是一种定义方法、属性和其他需求的蓝图。它类似于其他编程语言中的接口(Interface),但功能更加强大和灵活。协议允许你定义一组规则,任何遵循该协议的类型都必须实现这些规则。通过协议,你可以实现代码的复用和模块化设计。
协议的定义
协议使用 protocol
关键字定义。以下是一个简单的协议示例:
protocol Vehicle {
var numberOfWheels: Int { get }
func startEngine()
func stopEngine()
}
在这个例子中,Vehicle
协议定义了两个方法和一个属性。任何遵循 Vehicle
协议的类型都必须实现这些方法和属性。
协议的实现
要让一个类型遵循协议,需要在类型声明后使用 :
并列出协议名称。以下是一个遵循 Vehicle
协议的 Car
类的示例:
class Car: Vehicle {
var numberOfWheels: Int = 4
func startEngine() {
print("Engine started")
}
func stopEngine() {
print("Engine stopped")
}
}
在这个例子中,Car
类遵循了 Vehicle
协议,并实现了协议中定义的所有方法和属性。
协议中的属性
协议可以定义属性,包括只读属性(get
)和读写属性(get set
)。以下是一个包含读写属性的协议示例:
protocol Person {
var name: String { get set }
var age: Int { get }
}
在这个例子中,Person
协议定义了一个可读写的 name
属性和一个只读的 age
属性。