黑马程序员技术交流社区

标题: OC中的私有(相对私有)方法 [打印本页]

作者: 洪吉童    时间: 2015-10-24 12:01
标题: OC中的私有(相对私有)方法

OC中并没有像Java或者其他语言中提供的私有方法,OC中的私有,可以理解为相对私有。
OC中私有方法实现有两种方式:
1)方法在.m中实现,不在.h中声明(相对私有)

创建一个类:

[cpp] view plaincopy



实现这个类:

[cpp] view plaincopy



在main中测试:

[cpp] view plaincopy




这时候编译器报错,因为test()是私有方法,此文件包含的是#import"Person.h",.h文件可以看做是对外的一个接口,而Person.h中没有声明定义test。当然这个test()也不能被子类继承和使用。那么这个test怎么使用呢?看下面代码:

[cpp] view plaincopy



也就是说,test只能在本文件中被调用,跟static修饰函数的使用方法很类似。

2)通过匿名类别(延展)实现私有(一般意义上的私有)
[cpp] view plaincopy



而在类的.m文件中,采用类别来实现私有方法,具体操作为:
[cpp] view plaincopy



关于通过匿名类别实现私有方法目前还没有学到,暂时不做过多说明。

作者: 魔尊    时间: 2015-10-24 12:02
恩,支持继续更新,好好好
作者: hm_pt    时间: 2015-10-24 12:10
私有方法只能本类使用,不能被子类继承。
作者: 眼瞳╄渲染繁华    时间: 2015-10-24 21:29
嗯嗯,学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2