Swiftではextension
を使ってクラスの機能拡張が行えます。
Objective-Cで言うところの拡張カテゴリですね。
ってことでサンプルコード。
class Hoge {
var name: String?
init() {
}
func test() -> String {
return "hoge"
}
}
extension Hoge {
// extensionで実装を差し替えられる
func test() -> String {
return "fuga"
}
// オーバーロードもできる
func test(a: Int) -> Int {
return a + 1
}
}
var hoge: Hoeg = Hoge()
println(hoge.test()) // => "fuga"
println(hoge.test(3)) // => 4