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
協議,并讓它們與現有的代碼兼容,而無需修改現有的代碼。這提高了代碼的復用性和靈活性。