在java中可以把一个类对象通过接口方式传到另外一个类
比如说(java 中):
class A extends Object implements IterfaceA{
//this method is a method of InterfaceA
public void methodA(){
}
public void init(){
B test=new B((InterfaceA)this);
}
}//end of Class
class B extnds Object{
InterfaceA interA;
public B(InterfaceA a){
interA=a;
}
public void someMethod{
interA.methodA();//关键是这一行,可以实现在B类中调用A的方法.
}
}
iphone
找到解决办法了
就是传递
id <MyProtocol>
的方法
传递和使用的时候用 (id <MyProtocol>) 做强制类型转换。
在使用的时候可以加上下面这句话,做安全性检查
if ( ![receiver conformsToProtocol:@protocol(MyProtocol)] ) {
}
这里的MyProtocol 是自定义的protocol
比如定义在一个.h文件中的
@protocol MyProtocol
- (void)requiredMethod;
@optional
- (void)anOptionalMethod;
- (void)anotherOptionalMethod;
@required
- (void)anotherRequiredMethod;
@end