子类如何覆盖Swift中父类的属性?

时间:2019-12-10 09:55:40

标签: swift generics inheritance

我想在BaseClass中拥有一个属性,该属性是可扩展Movable的任何类型的数组,而在子类中,我想使用可扩展Movable的Transportable类型覆盖相同的属性。

我们如何在Swift中声明“扩展Movable的任何内容”?

protocol Movable{
    func move()
}

struct Transportable : Movable{
    func transport()
}

class BaseClass{
    var myProperty: [Movable] = []
}

class MyClass: BaseClass{
    override var myProperty = [Transportable]()
}

它无法编译并给我一个错误:

  

类型为[[Transportable]”的属性“ myProperty”不能覆盖类型为“ [Movable]”的属性

0 个答案:

没有答案