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⽅法。
  • 相关阅读:
    Python随笔之字典Dict
    Python随笔之列表List
    Python基础整理,懒得分类了,大家对付看看吧
    shell批量推送公钥脚本
    Xcode 切换target 之后打包失败
    百度导航sdk错误日志
    前端项目中去掉替换双引号
    taro3.x项目中引用taro-ui以及taro-iconfont-cli
    taro
    JS中some() every() forEach() map() filter()的区别
  • 原文地址:https://www.cnblogs.com/w150385/p/5213974.html
Copyright © 2011-2022 走看看