这更像是一个概念问题。为什么要费心使用init
?
class Person {
var name:String
var height:Double
...
init(name: String) {
self.name = name
self.height:Double
...
}
为什么不给所有东西一个默认值呢?
var name = "Daniel"
var height = 178.0
这样,我也不必担心在指定初始化和“方便”初始化之间做出决定,因为一切都将继承自它们的超类。有这种init
方法的理由吗?
它是否允许严格默认值初始化的应用程序无法实现的编码模式?还是出于资源/内存管理等原因?