继承如何在Swift中运行?根据我的理解,所有父母都应该由孩子替换。由于某些原因,它无法正常工作。以下是一个例子:
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
这个错误:
无法将'(CompactCar).Type'(又名'CompactCar.Type')的值转换为预期的参数类型'Car'
答案 0 :(得分:5)
您无法将CompactCar
(或任何其他类名称)传递给carRedo
的构造函数。您需要传递CompactCar
类型的对象:
let mini = CompactCar()
let redo = carRedo(mini)
如果您不需要单独访问传递给carRedo
的汽车,您可以"折叠"上面两个叫做一个:
let redo = carRedo(CompactCar())
// ^^