美文网首页
OC 类 GeekBand

OC 类 GeekBand

作者: 韩梅梅梅梅 | 来源:发表于2016-07-13 15:30 被阅读9次

    1.obj-c中没有private的概念,可认为全是public的

    2.类的类型成员 Type Member

          1)实例变量 instance variable 不能被外部访问

          2 ) 属性 property 编译器会为属性定义一个getter方法:propertyName,一个setter方法:setPropertyName,和一    个实例变量_propertyName,如果属性被定义成只读属性,则只有getter方法。

          3)除了init和dealloc方法内,使用实例变量来访问,其他一律使用属性来访问,类内也使用self.属性 访问

    3.类方法和实例方法,方法前减号为实例方法,方法前加号为类方法。

       类方法可以直接调用,不需要创建类的实例,而实例方法只能通过类的实例对象才能调用。

    4.方法的调用,在obj-c中被称为消息机制,写在中括号内 ,eg: [class foo];

    5.类声明以 @interface 类名:继承名 开头,以 @end 结尾,类实现以@implementation 类名 开头,以 @end 结尾;

    6.类的创建需要两步

        1)alloc 请求内存分配,并把所有属性置零,指针置空

        2)init 初始化,可以根据参数需要自定义初始化方法,需要前置调用父类的初始化器 [super init]

        3) new  == alloc + init  无参数版本

    7.对象析构器 dealloc 在释放对象内存前自动调用,无法手工调用,子类的dealloc会调用父类的dealloc(后置调用)

    8.每个类都有且只有1个基类,NSObject 是所有类的根类。

      子类会自动继承基类的 实例变量,属性,实例方法和类方法

    9.多态 :子类在父类统一的接口下,通过重写方法来进行不同的操作行为

       self具有多态性,可以指向不同子类

        super没有多态性,仅指向当前父类

    10.尽量避免在父类的init和dealloc中调用子类重写的方法


      

    相关文章

      网友评论

          本文标题:OC 类 GeekBand

          本文链接:https://www.haomeiwen.com/subject/bbnjjttx.html