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可能會更好地支持這樣的構造。
是否有不同的方式來做到這一點是斯威夫特,或者它是不可接受的?對我來說,「向上」類型參數似乎很好,但是可能有不允許的原因嗎?
謝謝!