hmt*_*hur 0 encapsulation objective-c
我对封装有点困惑.一般(或在Obj-C中),它是指分离接口/实现还是暗示通过方法访问ivars?
请澄清.谢谢.
实际上,两者.
正如nacho4d所说,你将实例变量封装在你的类中,并通过使用方法和属性来读取和写入它们来阻止对它们的直接访问.这确保了实例始终可以知道某些内容何时读取或写入了值,而直接ivar访问与在C结构中设置值没有什么不同.
然而,分离@interface从@implementation也大大有助于封装.在过去几年中,语言增强的目标之一是增加分离所提供的封装程度.
也就是说,类的主要部分@interface现在只能包含您希望其他开发人员/代码与之交互的类的部分.公共界面,如果你愿意的话. 所有实现细节都可以移出@interface最新的编译器,包括所有实例变量.
| 归档时间: |
|
| 查看次数: |
2678 次 |
| 最近记录: |