码迷,mamicode.com
首页 > 其他好文 > 详细

OC--构造方法和分类

时间:2014-12-05 10:35:00      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   使用   sp   on   div   log   

#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--构造方法和分类

标签:style   blog   io   color   使用   sp   on   div   log   

原文地址:http://www.cnblogs.com/ZhangYuGe/p/4145868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!