Objective_C学习笔记(2)类的使用学习概要
2015-06-12 18:04
609 查看
一、类的声明、实现以及使用文件相分离。
如图所示:
二、合成存取方法
另外,在OC中还提供了自动生成设值和取值方法的方式,就是使用@property和@synthesize标识。
实现步骤:
1.在声明文件中使用property对实例变量进行标识
2.在实现文件中使用synthesize对实例变量进行标识。
这样我们就不用再手动的创建set和get方法 。
三、点运算符点取实例变量。
四、具有多个参数的方法
也可以省略参数名称,直接使用冒号进行表示,但是会影响程序的可读性,因此不建议使用。
五、static和self关键字
static:在局部变量前面加static关键字可以使局部变量保留方法多次被调用之后所得的值。
局部静态变量和实例变量的区别:局部静态变量可以记录本身方法被所有对象调用的次数。实例变量只能记录被某个对象调用的次数。
self:self相当于当前类的引用,用来调用当前对象本身的方法,类似于java中得this。
与java中类相比较,Objective-C中类分为三部分: interface声明部分, implementation定义部分, 使用部分。在大型的程序文件中,应该遵循使程序的声明、实现文件以及其使用的程序文件相分离。interface部分的文件名为className.h。implementation部分的文件名为className.m。
如图所示:
二、合成存取方法
在Java中,其提供了对属性进行读写的getter和setter方法。在OC中也提供了同样的方法,不同之处在于OC中得get方法其方法名和属性名是相同的。
另外,在OC中还提供了自动生成设值和取值方法的方式,就是使用@property和@synthesize标识。
实现步骤:
1.在声明文件中使用property对实例变量进行标识
2.在实现文件中使用synthesize对实例变量进行标识。
这样我们就不用再手动的创建set和get方法 。
如代码所示,注意一点,如果程序中还有其他的实例变量并且没有被标识的,在implementation中声明定义的时候应该放在@synthesize标识的变量之前进行声明。
三、点运算符点取实例变量。
类似于Java中调用成员变量和方法的方式都是使用点运算符进行调用。OC中也可以使用类的引用对其变量进行调用。但是并不建议使用该方法调用函数,一般只用在属性上,当对函数进行调用的时候还是建议使用方括号进行调用。
四、具有多个参数的方法
OC中具有多个参数的方法的定义方式:通过列出每个连续的参数并用冒号将其连起来,就可以定义一个接收多个参数的方法。用冒号连接的参数将成为这个方法名的一部分。 代码示例:
@interface Fraction : NSObject @property int num,sum; -(void)print; //定义两个参数的方法 -(void)addNum:(int) n andSum:(int)m; @end
//具体实现,将n和m复制给实例变量sun和num -(void)addNum:(int)n andSum:(int)m{ sum = n; num = m; result = n+m; }
//调用方法进行传参 [myFraction addNum:3 andSum:4];
也可以省略参数名称,直接使用冒号进行表示,但是会影响程序的可读性,因此不建议使用。
五、static和self关键字
static:在局部变量前面加static关键字可以使局部变量保留方法多次被调用之后所得的值。
局部静态变量和实例变量的区别:局部静态变量可以记录本身方法被所有对象调用的次数。实例变量只能记录被某个对象调用的次数。
self:self相当于当前类的引用,用来调用当前对象本身的方法,类似于java中得this。
相关文章推荐
- Objective-C开发编码规范
- Object-C 编写高质量代码
- Objective-C 学习笔记之使用跨文件依赖关系
- 论文提要“Improving Object Detection with DCN via Bayesian Optimization and Structured Prediction”
- [Obj-C笔记] "self = [super init]"的解释与潜藏bug
- Swift:引入Object-c代码
- java.lang.Object 的 wait 和 notify方法,及关键字 synchronized的作用
- objective-c 中的关联介绍
- objective-c 中的关联介绍
- (译)Objective-C的动态特性
- OC中全局NSMutableArray对象不能addObject局部对象
- NGUI 滑动页(UIToggle和UIToggledObjects)
- objective-c基础语法之字典NSDIctionary、NSMutableDictionary
- Object Clustering - POJ 3241 曼哈顿最小生成树
- NGUI Table页(UIToggle和UIToggledObjects)
- objective-c基础语法之数组NSArray、NSMutableArray
- Objective-C马路成魔【14-关键C语言功能】
- ECMAScript6新增值比较函数Object.is
- 轻松学习之 Objective-C消息转发
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)