self关键字
// 在类的内部如何获得一个对象的地址
// self关键字,谁调用,self就代表着谁
/*
1> 在动态方法中,self代表着"对象"
2> 在静态方法中,self代表着"类"
3> 万变不离其宗 :self代表着当前方法的调用者
如何创建一个oc对象
// 1.必须要调用创建对象的方法,new专门用来创建对象的方法
// 2.oc只要是调用方法就必须在[]中实现
// IPhone *iphone = [Iphone new];
// iphone就叫做实例变量,它保存一个对象的指针地址
/*
<1.开辟内存空间,来存储对象
<2.初始化成员变量的值
<3.返回对象的指针地址
*/
方法
// oc方法声明中有多少个参数 就必须对应多少个:
// oc中的方法的命名注重的是自注释,也就是能够直接通过方法的名称,解读出方法具体功能
1.构造方法
- (id)init {
// 1.要调用父类的初始化方法
// 返回当前对象的指针地址
self = [super init];
// 2.判断是否初始化成功
if (self != nil) {
// init code….
}
// 3.返回self关键字,实际上就是返回自己的指针地址
return self;
}
2.自定义构造方法
// 自定义构造方法
/*
<1.一定是对象方法
<2.构造方法一定以init开头
- (Iphone *)initWithIphoneSize:(IphoneSize)iphoneSize;
- (Iphone *)initWithIphoneSize:(IphoneSize)iphoneSize {
self = [super init];
if (self) {
_cpu = 1.5;
_ram = 512;
_color = whiteColor;
_size = iphoneSize;
}
return self;
}
3.类方法
// 类方法
<1.一定是使用类名调用的方法
<2.一定是以 + 号开头
<1.不需要创建对象,就可以直接执行方法中的逻辑
<2.理论上能够节省内存空间,提供效率
<3.(在方法内部的逻辑不依赖于类本身成员变量的情况下)尽可能的多使用类方法
<4.类方法中不能够访问成员变量
4.实例方法
// 只能使用对象(实例变量)调用
// 必须以 - 开始声明
self 和 构造方法 类方法 实例方法
最新推荐文章于 2022-07-03 00:39:19 发布