继承如何在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
}
}
Run Code Online (Sandbox Code Playgroud)
当我将CompactCar传递给carRedo构造函数时,我收到一个编译错误:
carRedo(CompactCar)// error
Run Code Online (Sandbox Code Playgroud)
这个错误:
无法将类型'(CompactCar).Type'(又名'CompactCar.Type')的值转换为预期的参数类型'Car'
您不能将CompactCar(或任何其他类名称)传递给构造函数carRedo.您需要传递一个类型的对象CompactCar:
let mini = CompactCar()
let redo = carRedo(mini)
Run Code Online (Sandbox Code Playgroud)
如果您不需要carRedo单独访问您传递给的汽车,您可以将上面的两个电话"折叠"成一个:
let redo = carRedo(CompactCar())
// ^^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |