无法更改超类变量 "description"
cannot change superclass variable "description"
我正在尝试学习 Swift 中的继承概念,并想出了以下代码。我在子类中修改变量"numberOfWheels"没有问题,但是当我试图在子类中修改变量"description"时,Xcode显示错误:
cannot assign to property "description" is a get only property
因为我对Swift比较陌生,所以我无法解决这个问题?有人可以向我提供如何解决此问题的代码示例吗?非常感谢您的帮助!
class Vehicle{
var numberOfWheels = 0
var description: String{
return "\(numberOfWheels) wheels"
}
}
class Bicycle: Vehicle {
override init(){
super.init()
numberOfWheels = 2
description = "\(numberOfWheels) wheels, more is good"
}
}
description
是一个只读的计算 属性,因此不能直接分配给。它通常用于为实现 CustomStringConveritble
的 class 提供字符串转换以用于打印目的。如果你真的想在你的 subclass 中覆盖 description
,你应该按如下方式进行:
override var decsription: String {
return "\(numberOfWheels) wheels, more is good"
}
我正在尝试学习 Swift 中的继承概念,并想出了以下代码。我在子类中修改变量"numberOfWheels"没有问题,但是当我试图在子类中修改变量"description"时,Xcode显示错误:
cannot assign to property "description" is a get only property
因为我对Swift比较陌生,所以我无法解决这个问题?有人可以向我提供如何解决此问题的代码示例吗?非常感谢您的帮助!
class Vehicle{
var numberOfWheels = 0
var description: String{
return "\(numberOfWheels) wheels"
}
}
class Bicycle: Vehicle {
override init(){
super.init()
numberOfWheels = 2
description = "\(numberOfWheels) wheels, more is good"
}
}
description
是一个只读的计算 属性,因此不能直接分配给。它通常用于为实现 CustomStringConveritble
的 class 提供字符串转换以用于打印目的。如果你真的想在你的 subclass 中覆盖 description
,你应该按如下方式进行:
override var decsription: String {
return "\(numberOfWheels) wheels, more is good"
}