在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
转自:http://blog.csdn.net/l271640625/article/details/8393531 以下Objective-c简称OC 从事java开发的程序员们都知道,在java中interface是接口的意思,java中类是用class声明,接口用interface声明,是两个独立的部分,只有在类声明要实现某个接口时,他们两者才建立了关系,例如: interface AI{ void print(); }; class AC{ }; 这时候,AI和AC是独立存在,AC不会因为没有和AI建立关系而编译错误,将AC做以下修改后,AI才和AC建立了关系,AC必须实现AI中声明的方法才能通过编译。 class AC implement AI{ void print(){ system.out.println('Hello World'); } }; 现在,我们来看Objective-c,网上大家都将oc中的interface理解为“非正式协议(或说接口)”,prototal理解为“正式协议(或说接口)”,我觉得那样理解起来虽然不困难,但是很变扭,于是我做一点自己的理解: #import <Foundation/Foundation.h> @protocol A @end @interface A : NSObject<A> -(void) test:(id<A>) obj; @end 注意这里的 -(void) test:(id<A>) obj; 这表明test方法接受一个任意类型的对象做为参数,但是该参数对象必须实现接口A,类似于java中的 void test(List<A> obj)
|
请发表评论