位置:首頁 > 高級語言 > Swift教學 > Swift通過擴展補充協議聲明

Swift通過擴展補充協議聲明

通過擴展補充協議聲明

當一個類型已經實現了協議中的所有要求,卻冇有聲明時,可以通過擴展來補充協議聲明:

struct Hamster {
    var name: String
    func asText() -> String {
        return "A hamster named \(name)"
    }
}
extension Hamster: TextRepresentabl {}

從現在起,Hamster的實例可以作為TextRepresentable類型使用

let simonTheHamster = Hamster(name: "Simon")
let somethingTextRepresentable: TextRepresentabl = simonTheHamester
println(somethingTextRepresentable.asText())
// 輸出 "A hamster named Simon"


注意: 即時滿足了協議的所有要求,類型也不會自動轉變,因此你必須為它做出明顯的協議聲明