Swift 协议(Protocol)是一种定义一组方法签名的类型,它规定了一个对象应该具备哪些行为。使用协议可以提高代码的复用性,因为它允许不同的类实现相同的方法,而不需要继承同一个基类。以下是如何使用 Swift 协议来提高代码复用性的几个示例:
Drawable
的协议,它包含一个名为 draw
的方法:protocol Drawable {
func draw()
}
Circle
的类,并让它实现 Drawable
协议:class Circle: Drawable {
func draw() {
print("Drawing a circle")
}
}
drawShape
,它接受一个实现了 Drawable
协议的参数:func drawShape(_ shape: Drawable) {
shape.draw()
}
Drawable
协议的类实例给 drawShape
函数,而不需要关心具体的类是什么:let circle = Circle()
drawShape(circle) // 输出 "Drawing a circle"
通过这种方式,你可以轻松地添加新的类来实现 Drawable
协议,并让它们与现有的代码兼容,而无需修改现有的代码。这提高了代码的复用性和灵活性。