self 和 构造方法 类方法 实例方法

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.实例方法

// 只能使用对象(实例变量)调用
// 必须以 - 开始声明


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值