我不确定这是否可行,但我的要求是从课堂上加载颜色说“A'但在内部,它将引用/创建B或C的对象,其中定义了实际方法。取决于某些条件A只会为B或C创建一次引用/对象。如果我在A上调用方法,那么我需要从B或C获取而不再检查条件。假设B和C都具有相同的方法签名。
这可能吗?如果是这样,我们怎么能实现这一点PS:使用swift。
答案 0 :(得分:0)
听起来像你需要protocol
protocol myCustomProtocol {
func myCallBackFunction();
}
class A : myCustomProtocol{
func myCallBackFunction(){
println("I AM A")
}
}
class B : myCustomProtocol{
func myCallBackFunction(){
println("I AM B")
}
}
class C{
func doSomethingWithMyCustomProtocol(mcp : myCustomProtocol){
mcp.myCallBackFunction();
}
}
var myA = A();
var myB = B();
var myC = C();
myC.doSomethingWithMyCustomProtocol(myA);
myC.doSomethingWithMyCustomProtocol(myB);
//output:
//I AM A
//I AM B