无法更改超类变量 "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"
}