Abh*_*nav 2 iphone cocoa objective-c ios
在目标C中,java中接口的等价概念是什么.我想创建一个接口并定义一些公共变量和方法,这些变量和方法将由从我的接口继承的许多类共享.当外面的任何类想要使用子类时,它将获得我的接口的引用对象,该对象将指向正确的子类.
如何在Objective C中实现这一目标?
在Objective-C中,您可以通过使用协议来实现此目的.协议基本上是Java中接口的前身,因此大多数行为应该是自然而然的.
协议声明如下所示:
@protocol Foo
-(void) foo;
-(int) boo: (int) arg;
@end
Run Code Online (Sandbox Code Playgroud)
它可以由一个类实现.在下面的例子中,你会说MyClass符合Foo协议.
@interface MyClass <Foo>
{
}
@end
@implementation MyClass
-(void) foo {
//do something
}
-(int) boo: (int) arg {
//do something else
return arg;
}
@end
Run Code Online (Sandbox Code Playgroud)
最后,你可以像这样传递它们:
-(void) someMethod: (id<Foo>) arg;
Run Code Online (Sandbox Code Playgroud)
如果你需要更具体的对象,它们也可以像这样使用:
-(void) someMethod: (NSObject<Foo> *) arg;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |