0
我试图投与一类参数的类的对象到相同类的对象与更通用的类型参数,如下面的银行代码中所示:夫特:在类型继承参数
class ParameterClassA {
}
class ParameterClassB: ParameterClassA {
}
class WorkingClassA<T> {
}
class WorkingClassB: WorkingClassA<ParameterClassB> {
}
let object1 = WorkingClassB()
let object2: WorkingClassA<ParameterClassA> = object1
不幸的是,也许和预期的一样,这是行不通的,因为WorkingClassA<ParameterClassB>
不能“downcast”到WorkingClassA<ParameterClassA>
- 我知道Java不允许它,我希望Swift可能会更好地支持这样的构造。
是否有不同的方式来做到这一点是斯威夫特,或者它是不可接受的?对我来说,“向上”类型参数似乎很好,但是可能有不允许的原因吗?
谢谢!