首页 > 代码库 > OC--构造方法和分类

OC--构造方法和分类

#import <Foundation/Foundation.h>#import "Person.h"//构造方法:用来初始化对象的方法,是个对象方法,-开头int main(){        //Person *p = [Person new];    /*        完整地创建一个可用的对象        1.分配存储空间  +alloc        2.初始化 -init    */        //1.调用+alloc分配存储空间    //Person *p1 = [Person alloc];    //2.调用-init进行初始化    //Person *p2 = [p1 init];        //调用init进行初始化    Person *p3 = [[Person alloc] init];            return 0;    }//重写-init方法#import "Person.h"@implementation Person/*- (id)init{    //1.一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性    self = [super init];        //2.如果对象初始化成功,才有必要进行接下来的初始化    if(self != nif){        //初始化成功        _age = 10;    }        //3.返回一个已经初始化完毕的对象    return self;}*/- (id)init{    //1.一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性            //2.如果对象初始化成功,才有必要进行接下来的初始化    if( self = [super init] ){        //初始化成功        _age = 10;    }        //3.返回一个已经初始化完毕的对象    return self;}@end/*    自定义够着方法的规范        1.一定是对象方法,一定以 - 开头        2.返回一般是id类型        3.方法名一般以init开头*//*        分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法        使用注意:        1.分类只能增加方法,不能增加成员变量        2.分类方法实现中可以访问原来类中声明的成员变量        3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用        4.方法调用的优先级:分类  --> 原来类 --> 父类*/

 

OC--构造方法和分类