1,封装--访问权限控制@private,@protect,@package,@public。
@private(当前类访问控制权限):成员变量被@private 限制,只有在当前类中访问。在类的实现部分定义的成员变量相当于默认使用这种访问权限。
@package(与映像访问权限相同):在当前类和当前类实现的同一个映像的任意地方可以访问。
@protected(子类访问权限):在当前类和当前类的子类的任意地方可以被访问。在类的接口部分定义的成员变量默认使用这种访问权限。
@public(公共访问权限):类的成员变量被@public限制,这个成员变量可以在任意地方访问,不管是否处于同一个映像中,还是是否具有父子继承关系。
2,拥有足够的访问权限,可直接通过 对象->成员变量 进行访问。public
3,c语言特性:
--#define
#define就是为字符串起一个名字:#define YSE 1
不要对宏定义进行赋值,宏定义只是进行“查找,替换”。当想要结束宏定义时,可以执行:#undef 宏名称
--带参数的#define
定义参数宏的语法为:
#define 宏名称(参数列表) 字符串
#import <Foundation/Foundation.h>
#define PI 3.14
#define AREA(r) PI*r*r
int main(int argc,char* argv[])
{
@autoreleasepool{
double area=AREA(3);
}
return 0;
}--#ifdef,#else,#endif
#ifdef DEBUG
NSLog(@“test”);
#endif
加入上面的语句进行调试,当没有定义DEBUG时,调试语句不会执行。
在源代码中不定义DEBUG宏,在编译时使用clang命令编译源程序时可以使用-D选项定义宏。如下:
clang -fobjc-arc -framework Foundation -D DEBUG test.m
本文详细介绍了封装中的访问权限控制(private, protect, package, public),并深入探讨了C语言中的#define特性,包括宏定义、参数宏、条件编译指令(#ifdef, #else, #endif)的应用。
337

被折叠的 条评论
为什么被折叠?



