2 mazhibinit mazhibinit 于 2016.09.20 22:23 提问

Swift的构造函数为什么需要设计指定构造函数/便利构造函数,以及构造函数的继承?

Swift的构造函数为什么需要设计指定构造函数,便利构造函数,构造函数的继承,这些概念?而且Swift很看重中几个概念,还有专门的关键字override和convenience来修饰,这种设计有什么好处?能处理什么问题?和Java中的传统设计,其先进的地方在哪里?

1个回答

caozhy
caozhy   Ds   Rxr 2016.09.20 22:33

convenience允许你通过包装一个现有的构造函数得到一个新的构造函数,它的设计动机和设计模式的外观类似,在不改变底层实现的情况下,给调用者提供一个简单的调用。
override允许你重写派生类的构造函数,并且在其中调用基类的构造函数,这样可以避免代码的重复,让派生类有扩展代码的能力。
http://www.csdn.net/article/2015-01-07/2823458-init-keywords

mazhibinit
mazhibinit 您这是说了这两个关键字的作用。Java中,也可以重写父类的构造函数,也可以调用自己的构造函数,只是不需要加上convenience和override,还有就是Java没有构造函数继承。我好奇的是swift这种设计额外的好处在哪里
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片