Hi. This is from the Apple's Swift 4.2 book.
In line 02, numberOfSides was already initialized to 0. Why does numberOfSides still need to be initialized in line 19 when it already has an initialized value of 0?
class NamedShape {
var numberOfSides: Int = 0
var name: String
init(name: String, numberOfSides: Int) {
self.name = name
}
func simpleDescription() -> String {
return "A shape with \(numberOfSides) sides."
}
}
class EquilateralTriangle: NamedShape {
var sideLength: Double = 0.0
init(sideLength: Double, name: String) {
self.sideLength = sideLength
super.init(name: name, numberOfSides: 1)
//numberOfSides = 3
}
var perimeter: Double {
get {
return 3.0 * sideLength
}
set {
sideLength = newValue / 3.0
}
}
override func simpleDescription() -> String {
return "An equilateral triangle with sides of length \(sideLength)."
}
}
Thank you.
God bless, Proverbs 31