教程 swift tutorial

协议的定义与实现

协议定义一组方法和属性的蓝图,任何类型都可以遵循协议,实现这些要求。

定义协议

使用 protocol 关键字定义协议:

swift
protocol Greetable {
    var name: String { get }
    func greet()
}

`

遵循协议

类、结构体或枚举通过声明遵循协议并实现协议要求:

swift
struct Person: Greetable {
    var name: String
    func greet() {
        print("你好,\(name)!")
    }
}

使用协议类型

协议可以作为类型使用,实现多态:

swift
func sayHello(to entity: Greetable) {
    entity.greet()
}

let p = Person(name: "小明")
sayHello(to: p)  // 输出:你好,小明!

协议是 Swift 中面向协议编程(POP)的核心,增强代码灵活性和扩展性。