构造函数的继承问题

来源:3-2 Swift协议和构造函数

YumaiCode

2016-08-04 18:17

如果子类没有实现父类的任何指定构造函数,则自动继承父类的所有指定构造函数。那么既然,子类继承了父类的构造函数,那么当一个类继承了父类,且遵守一个协议,为什么要用required呢?

而下面Parrort没有实现协议的name属性,应该是父类bird里有,就不用写了。

写回答 关注

2回答

  • 梁华建
    2019-01-16 08:45:38

    楼上对 既然你父类遵守了这个协议 那么你的其他子类也应该遵守该协议实现该构造方法  

  • 慕九州6666336
    2016-08-07 11:43:19

    因为你不能保证Parrot的子类没有实现任何指定构造函数,所以它不一定有init(name: String)

    YumaiC...

    好吧,老师也这么说的

    2016-08-08 12:33:59

    共 1 条回复 >

玩儿转Swift 2.0(第四季)

Swift泛型、扩展、面向协议编程等,大家真正玩儿转swift

14417 学习 · 25 问题

查看课程

相似问题