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

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

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