0
私は継承クラスとジェネリッククラスにいくつか問題があります。私は、汎用のメタタイプを持つ親クラスのオブジェクトを返す関数にサブクラス(特定の汎用タイプを持つ)のオブジェクトを戻したいと思います。一般的なメタタイプ関数で特定のメタタイプを持つオブジェクトを返す
多かれ少なかれ、私はクラスや関数のこのような構造を持っている:私は行うことはできません
class Element {}
class Item:Element {}
class A<aType:Element> { }
class B:A<Item> { }
class SomeClass {
func foo() -> A<Element> {
return A<Element>()
}
}
class OtheClass:SomeClass {
override func foo() -> A<Element> {
return B() // An error where!
}
}
事がOtherClassの関数fooでreturn B()
です。エラーは次のとおりです。
はタイプ を返すためにタイプ「B」のreturn式を変換できません「<要素>」
それをする方法はありますか?