「class A」内の処理 →メソッド「Am()」の実装を
「class A」のインスタンスを生成している別のクラス
「class B」に任せる(委譲)。
protocol Myprotocol{
func say()
}
class A{
var delgate:Myprotocol?
func Am(){
delgate?.say()
}
}
class B:Myprotocol {
let a2 = A()
init(){
self.a2.delgate = self
self.a2.Am()
}
//プロトコルで定義したデリゲートメソッドを実装する
func say() {
println("protcol")
}
}
let b = B()//結果"protcol"
「class A」のメソッド「Am()」の内容を
「class B」のメソッド「say()」で実装している。
これで説明できているか、わからない。
どなたかご教示お願いします。
コメント