ITPub博客

首页 > 应用开发 > IT综合 > Objective-C 中interface 与 implementation 关系

Objective-C 中interface 与 implementation 关系

IT综合 作者:gaohongfeng 时间:2014-01-25 21:12:18 0 删除 编辑

以下Objective-c简称OC

从事java开发的程序员们都知道,在java中interface是接口的意思,java中类是用class声明,接口用interface声明,是两个独立的部分,只有在类声明要实现某个接口时,他们两者才建立了关系,例如:

  1. interface AI{  
  2.     void print();  
  3. };  
  4. class AC{  
  5. };  

这时候,AI和AC是独立存在,AC不会因为没有和AI建立关系而编译错误,将AC做以下修改后,AI才和AC建立了关系,AC必须实现AI中声明的方法才能通过编译。

  1. class AC implement AI{  
  2.     void print(){  
  3.         system.out.println('Hello World');  
  4.     }  
  5. };  

现在,我们来看Objective-c,网上大家都将oc中的interface理解为“非正式协议(或说接口)”,prototal理解为“正式协议(或说接口)”,我觉得那样理解起来虽然不困难,但是很变扭,于是我做一点自己的理解:
1、protocal就相当于java中的interface;
2、而interface和implementation共同代表一个类,两者的组合相当于java中的class,即oc中的类必须包括两部分,interface部分和implementation部分,这才是oc中的一个类的完整声明;然后OC中将成员变量和成员方法的声明部分放置在interface部分中,包括继承关系,protocal实现关系,都在interface里面的头部进行声明,然后将实现部分放置在implementation部分中,相当于是将类拆分成声明和实现两部分,这两部分缺一不可,所以在OC中,不妨不要将interface叫做接口,直接叫做类声明部分来得容易理解多了,简而言之,oc中interface是类的一个部分,和implementation共同组成一个完整的类。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12231606/viewspace-1075412/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-25

  • 博文量
    38
  • 访问量
    256559