gpt4 book ai didi

swift - 试图理解 swift 子类中的 super 属性

转载 作者:行者123 更新时间:2023-11-28 12:57:45 24 4
gpt4 key购买 nike

我正在学习 swift 并且我正在尝试理解在初始化子类时 super 属性的使用

示例代码:

class Square: NamedShape {
var sideLength: Double

init(sideLength: Double, name: String) {
self.sideLength = sideLength
super.init(name: name)
numberOfSides = 4
}

func area() -> Double {
return sideLength * sideLength
}

override func simpleDescription() -> String {
return "A square with sides of length \(sideLength)."
}
}
let test = Square(sideLength: 5.2, name: "my test square")
test.area()
test.simpleDescription()

最佳答案

在您的示例中,super调用 init NamedShape的方法| , Square 的父类(super class).此方法负责初始化所有NamedShape。的必需属性并进行任何其他设置。

您尚未发布此类的代码,但看起来此方法可能会为 numberOfSides 设置默认值并存储 name 的值.

Swift Initialization docs提供更多详细信息。

关于swift - 试图理解 swift 子类中的 super 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com