Pertimbangkan dua kelas:
class A {
var x: Int
init(x: Int) {
self.x = x
}
convenience init() {
self.init(x: 0)
}
}
class B: A {
init() {
super.init() // Error: Must call a designated initializer of the superclass 'A'
}
}
Saya tidak mengerti mengapa ini tidak diizinkan. Pada akhirnya, initializer ditunjuk masing-masing kelas ini disebut dengan nilai-nilai yang mereka butuhkan, jadi mengapa saya harus mengulang sendiri di B
's init
dengan menentukan nilai default untuk x
lagi, ketika kenyamanan init
di A
akan baik-baik saja?