これをちょっと説明するのに役立つかもしれません。KotlinインターフェイスのCarat構文
は、私はそうのように見えるページと呼ばれる抽象クラスを持っていると言う:
abstract class Page {
abstract fun title() : String
}
と書籍と呼ばれるインターフェース:
interface Book {
fun write(page: Page)
fun read(title: String) Page
}
私の質問は、私が指定するカラット一般的な構文を使用する方法でありますメソッドはPageクラスの派生インスタンスによって使用されなければならないことを示します。多分このように:
interface Book<Page> {
fun write(page: Page)
fun read(title: String) : Page
}
class AdventureBookPage(val pageTitle: String, val content: String) : Page() {
override fun title() : String {
return title
}
}
class AdventureBook : Book<AdventureBookPage> {
override fun write(abp: AdventureBookPage) {
// do writing ops
}
override fun read(title: String) : AdventureBookPage {
// do read ops
}
}
アム私は、ジェネリックはここで働いてどのように誤解しますか?どんな助けも非常に高く評価されるでしょう。
ありがとう、それはまさに私がやろうとしていたものです。ちょうどドキュメントで特定できませんでした。 一般的な制約! Whodathunkit! もう一度おねがいします! –