自定义数据类型 --- 继承和构造函数(swift2.3)

自定义数据类型 — 继承和构造函数(swift)

下面简单的介绍继承和构造函数的应用

  1. 继承基础

  2. 多态性

  3. 重载

  4. 两段式构造

  5. 便利构造函数和指定构造函数

  6. 构造函数的继承

  7. required构造函数


一:继承基础
//继承其实即使子类拥有父类所有的方法和属性
二:多态性
//多态:当一个类继承另一个类的时候,它的属性类型就可以为子类的类型,在这种情况下,可以通过父类,对子类的方法进行操作(很肤浅的理解)
三:重载
//1.如果子类的一个属性想要覆盖掉父类的同一个属性,在var前面加个override

//2.同样的父类的方法也是一样,以可以使用override覆盖

//3.如果在父类中使用final关键字,那么父类的方法和属性就不能够被子类override了
四:两段式构造
//1.当一个类继承另一个类的时候,如果要初始化子类就必须初始化父类,但是在子类中初始化的顺序为:先初始化子类,再调用父类的初始化init函数初始化父类。

//2.当子类要通过self.getScore()调用自己的某个方法的时候,这时候必须保证父类的所有属性已经初始化完成,之后在父类的所有属性初始化完成的时候,self才会有值
五:便利构造函数和指定构造函数
//1.构造函数有默认的参数,也就是当一个类继承另一个类的时候,对子类的初始化函数中可以将子类的参数设置一个默认的值,直接在参数的类型后面加个“=”号就是,这样的话,就可以不需要传子类的参数了

//2.静态的方法可以在父类构造之前调用

//3.原则就是:在自己的一个init构造函数里再次调用了自己的另外一个构造函数,那么在这个构造函数init前面就必须加上一个关键字convenience

//4.(重要)convenience的构造函数只能够调用自己init函数,在指定的构造函数里面才能调用父类的init构造函数
六:构造函数的继承
//1.(重要)如果子类实现了父类的所有的指定构造函数,则子类自动继承父类的所有<便利构造函数>

//2.(重要)如果子类没有实现父类的任何构造函数,则子类自动继承父类的所有<指定构造函数>
七:required构造函数
required关键字:写在init函数前面,表示这个类的子类必须实现这个构造函数,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值