OC 类 GeekBand

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中调用子类重写的方法







  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容