首页 > 代码库 > Objective-C——类、方法、属性、成员变量
Objective-C——类、方法、属性、成员变量
有过相关编程语言基础,了解C++/java的相信对类的类、对象等概念是了解的。在此我也不做过多地赘述。
关于OC中类的定义及方法使用这块,OC定义了一套自己的规范
类的定义:
@interface FirstClass :NSObject
@end
//@interface表示声明的是一个类,“:”表示继承关系,@end类的结束
类的实现
@implementation FirstClass
方法的声明:
+(void)print;
-(id)init;
//"+"表示声明的是一个类方法,由雷鸣调用
//“-”表示声明的时实例方法,必须由类的对象来调用
声明带参数的方法:
+(void)initWithName:(类型) 变量名and:(类型) 变量名 A:(类型) 变量名;
OC中带参数的方法声明比较怪异,红色部分均为方法名,:表示后面跟的是参数。也即该方法的实际名称是initWithNAmeandA
属性与变量
属性是oc语言的一个新的机制,要求我们必须声明与之对应的实例变量。
成员变量的声明:
@interface FirstClass : NSObject { //类的成员变量,默认访问权限为protect int m; double n; char c; float f; }
//成员变量在{}中定义,一旦声明后可以在本类的实现文件.m文件中直接使用,相当于这个类里面的全局变量
属性
//成员变量在{}中定义,一旦声明后可以在本类的实现文件.m文件中直接使用,相当于这个类里面的全局变量
在声明部分使用@property定义属性
@property(参数)类型 变量名;
<pre name="code" class="objc">@property(nonatomic,strong)NSString *name;//<span style="font-family: Arial, Helvetica, sans-serif;">非基本类型用strong</span>
@property(nonatomic,assign)int count;//<span style="font-family: Arial, Helvetica, sans-serif;">基本类型用assign</span>
</pre><pre name="code" style="font-size: 13px;">在实现部分使用@synthesize合成属性
@synthesize 变量名;
@synthesize name=_name;//_name是name的一个实例
参数:
读写属性:readwrite/readonly
内存属性:assign/retain/copy/strong,copy是内容拷贝,retain是指针拷贝
原子属性:atomic/noatomic,nonatomic禁止多线程,变量保护提高性能
OC中的三种访问权限控制符
@protected,保护实例变量只能被该类及该类的子类中定义的方法访问;
@private,保护实例变量只能被该类中的方法访问;
@public,该修饰符后面的变量可以被所有类或模块定义的方法直接访问。
Objective-C——类、方法、属性、成员变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。