しないのはなぜこの作品:私はオブジェクト自体に工場を追加することで可能に継承を行うことができます継承を使用しているときに、自己でプロトコルを返すタイプ関数のデフォルトの実装を提供できないのはなぜですか?
protocol Work {
init()
static func make() -> Self
}
extension Work {
static func make() -> Self {
return self.init()
}
}
class Foo : Work {
required init() {}
}
:
class Foo : Work {
required init() {}
static func make() -> Self {
return self.init()
}
}
私はまた、非クラスを使用するか、クラスをマークすることができ
final
しかし、私は、継承を使用することを好む/必要とします。
プロトコルにデフォルトのファクトリを実装して、継承可能な型を再実装せずに準拠させることは可能ですか?
「動作しない」または「動作させる」とはどういう意味ですか? – matt
私は@mattの質問で明らかにしました、ごめんなさい。この文脈での "仕事"は、継承可能なオブジェクトがクラスレベルのコンストラクタを複製せずに適合できることを意味します。 – Logan