gpt4 book ai didi

swift - Swift 中的继承有点令人困惑

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:50 24 4
gpt4 key购买 nike

继承在 Swift 中是如何工作的?根据我的理解,所有的 parent 都应该由他们的 child 代替。由于某些原因,它不起作用。下面是一个例子:

public class Car {

var model: String

func getModel()-> String?{
return model
}
}


public class CompactCar: Car {
// some codes

}

public class carRedo{
var cartyp:Car!
init(carType: Car){
self.cartyp = carType
}
}

当我将 CompactCar 传递给 carRedo 构造函数时,出现编译错误:

carRedo(CompactCar)// error

这是错误:

Cannot convert value of type '(CompactCar).Type' (aka 'CompactCar.Type') to expected argument type 'Car'

最佳答案

您不能将 CompactCar(或任何其他类名)传递给 carRedo 的构造函数。您需要传递类型为 CompactCar对象:

let mini = CompactCar()
let redo = carRedo(mini)

如果您不需要单独访问您传递给 carRedo 的汽车,您可以将上面的两个调用“折叠”为一个:

let redo = carRedo(CompactCar())
// ^^

关于swift - Swift 中的继承有点令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35416811/

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