1
對不起,沒有具體的標題,我真的不知道如何更好地命名它。
我下面舉個例子:物業類型不是一種重寫
class User
interface Repository<T, ID>
interface UserRepository : Repository<User, Long>
abstract class RepositoryTest<T, ID> {
abstract var repository: Repository<T, ID>
}
class UserRepositoryTest : RepositoryTest<User, Long>() {
//Error: Var-property type is "UserRepository", which is not a type of overriden
lateinit override var repository: UserRepository
}
我需要這個架構的數據庫測試。 Repository
有插入,保存,刪除等方法。我想在RepositoryTest
中使用這個抽象來刪除所有條目,並在每次測試之前插入所需的數據。在UserRepositoryTest
我想指定存儲庫爲UserRepository
(這是Repository
的孩子),但我在示例中提到了一個錯誤。
爲什麼它給我錯誤?我想我可以通過一個亞型的類型。