gpt4 book ai didi

swift - 为什么 self 与 init 一起使用而不是 color

转载 作者:行者123 更新时间:2023-11-28 13:46:31 24 4
gpt4 key购买 nike

我正在参加关于 swift 的在线类(class),并展示了一个示例。为什么 self 用于 init 方法调用而不是颜色?

class Car {

var colour = "Black"
var numberOfSeats = 5
var typeOfCar : CarType = .Coupe

init() {

}

convenience init (customerChosenColour : String) {
self.init()
colour = customerChosenColour
}
}

最佳答案

init() 在有人像这样创建该类的新实例时运行:

var newInstanceOfCar = Car()

convenience init 允许您为某些用例创建其他初始化程序,例如当需要指定 customerChosenColour 时。在这些情况下,它使事情变得更加方便。

之所以使用self,是因为当你创建convenience init时,你仍然需要调用“main”init,这是 self 的属性。


您可以在颜色上使用self,但这不是必需的。如果 colour 不明确,您将使用 self.colour,如本例所示:

class Car {

var colour = "Black"
var numberOfSeats = 5
var typeOfCar : CarType = .Coupe

init() {

}

convenience init (colour : String) {
self.init()
self.colour = colour
}
}

注意 colourCar 的属性,同时也是 convenience init 的参数名称。写成 colour = colour 会很困惑。

所以我们使用 self 来表示我们希望类中的变量 self.colour 等于参数 colour 的值

关于swift - 为什么 self 与 init 一起使用而不是 color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55330937/

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