zoukankan      html  css  js  c++  java
  • OC2(初始化方法)

    1,继承的特点
    ①:继承的根类是NSObject
    ②:继承的上一层是父类,下一层是子类
    ③:继承具有传递性,A继承于B,B继承于C,A具有B和C特征和行为
    ④:继承是单向的,不能相互继承
    ⑤:如果子类不满父类方法的实现,可以从写父类的方法
    ⑥:把公共的方法和实例变量写在父类里面,子类只需要写自己独有的实例变量和方法
    2,属性和点语法:属性是一对setter、getter方法,声明属性关键字是@property,实现属性的关键字是@synthesize;
    3,super:是⼀个编译器指 令,不是对象,向super发送消息,会执⾏⽗类中的⽅法
    4,初始化方法:是实例方法,返回值是instancetype,参数个数可以自己给定,以init开头
      - (instancetype)initWithName:(NSString *)name gender:(NSString *)gender;
    4,初始化方法的内部实现有三步:
    ①:向super发送出事话消息,将从父类中继承过来的实例变量初始化
    ②:初始化自身独有的实例变量
    ③:将完成初始化之后的对象返回出去
    + (Person *)personWithName:(NSString *)name age:(NSInteger)age gender:(NSString *)gender;
    5,一个类的初始化方法可以有多种,但是一个对象的生命周期中,初始化方法只能用一次
    6,便利构造器:便利构造器封装了alloc 和初始化方法,是类方法,返回值类型为本类实例对象,方法名以类名开头,参数个数由自己指定。
    7、读写性控制、原⼦性控制、语义设 置。 (1)、读写性,readwrite(默认) readonly setter= getter= (2)、原⼦性,nonatomic(常用) atomic (默认),atomic 可以保证实例变量在多线程访问下是安全 的,但是会消耗⼤量的cpu性能。所以使 ⽤nonatomic。 (3)、assign ⾮对象类型。retain 对象类 型。copy 对象类型,属性的类要遵守 NSCopying协议,并且实现协议⽅法。因 为不同的语义设置会影响属性对应的 setter、getter⽅法的内部实现。
    8,点语法,对象通过点语法可以直接访问属性对应的setter、getter⽅法。等号左边如果有赋值的含义,点语法相当于 setter。单独出现或者出现等号右边,相当 于getter⽅法。
  • 相关阅读:
    【Nginx 快速入门】反向代理、负载均衡、动静分离
    【Redis】缓存穿透、缓存击穿、缓存雪崩(面试必备)
    【Redis】特殊数据类型
    【Redis】特殊数据类型
    【Redis】特殊数据类型
    typescript 技巧学习
    angular9的学习(十九)
    angular11源码探索二十六[Router整体路由配置]
    angular11源码探索二十五[Router路由事件]
    angular11源码探索二十四[路由检测变更策略]
  • 原文地址:https://www.cnblogs.com/w150385/p/5213974.html
Copyright © 2011-2022 走看看