黑马程序员技术交流社区

标题: OC基础知识 [打印本页]

作者: 初见兔儿哥    时间: 2015-8-5 22:01
标题: OC基础知识
super的作用

直接调用父类中的某个方法

super处在对象方法中,那么就会调用父类的对象方法

super处在类方法中,那么就会调用父类的类方法

使用场合:子类重写父类的方法时想保留父类的一些行为




@public : 在任何地方都能直接访问对象的成员变量

@private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private)

@protected : 可以在当前类及其子类的对象方法中直接访问  (@interface中默认就是@protected)

@package : 只要处在同一个框架中,就能直接访问对象的成员变量

2.-init方法的重写


目的:给创建出来的对象初始化一些成员变量。

注意点:先调用父类的构造方法([super init])再进行子类内部成员变量的初始化

- (id)init
{
    // 1.一定要调用super的init方法:初始化父类中声明的一些成员变量和其他属性
    self = [super init]; // 当前对象self
   
   
    // 2.如果对象初始化成功,才有必要进行接下来的初始化
    if (self != nil)
    { // 初始化成功
        _name = @"David";
    }
   
    // 3.返回一个已经初始化完毕的对象
   return self;
}

3.自定义构造方法
注意:

1.一定是对象方法,一定以 - 开头

2.返回值一般是id类型

3.方法名一般以initWith开头


4.分类

作用:在不改变原来类内容的基础上,可以为类增加一些方法

注意:

1.分类只能增加方法,不能增加成员变量

2.分类方法实现中可以访问原来类中声明的成员变量

3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用

4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类  --> 父类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2