我通过 spring jpa 和 kotlin 开发了项目。
我的同事代码审查并想要删除 spring jpa 依赖。 这是同事代码。
interface AJpaRepository : JpaRepository<A, Long>, ARepository
interface ARepository {
fun findById(id: Long): A?
}
@Service
class AService(val aRepository: ARepository) {
fun serviceMethod() {
aRepository.findById(1) // return A
}
}
我知道kotlin不会出现致命的死亡钻石。
我认为这是致命的死亡钻石,但这个程序是有效的。
这不是死亡钻石吗?
如果不是死亡钻石,这就是合理的代码吗?
这是我的代码
interface ARepository : JpaRepository<A, Long>
@Service
class AService(val aRepository: ARepository) {
fun serviceMethod() {
aRepository.findById(1) // return A
}
}
通过“致命的死亡钻石”,我假设您正在谈论多重继承问题(而不是某种有毒的石头)。 Kotlin 和 Java 不支持多重继承。您的示例中的代码不具有多重继承功能,因为只有一个类被继承。另一件事不是类,而是接口。