gpt4 book ai didi

java - 如何区分 kotlin 类继承(在 java 中扩展)和接口(interface)实现(implements in)这里 kotlin 使用(: ) for both?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:17 27 4
gpt4 key购买 nike

当我在某个 kotlin 项目中工作时,我感到困惑,比如子类是实现另一个父类还是实现接口(interface)?就像我正在使用 jar 中的一些接口(interface)和类,我不太了解它,因为我是 kotlin 的新手,有人可以向我解释解决这个问题的方法。
例如:
类定义

abstract class Employee (val firstName: String, val lastName: String) {
abstract fun earnings(): Double
}

由其他类扩展

abstract class Employee (val firstName: String, val lastName: String) {
// ...

fun fullName(): String {
return lastName + " " + firstName;
}
}

类似一个接口(interface)

class Result
class Student

interface StudentRepository {
fun getById(id: Long): Student
fun getResultsById(id: Long): List<Result>
}

接口(interface)实现

class StudentLocalDataSource : StudentRepository {
override fun getResults(id: Long): List<Result> {
// do implementation
}

override fun getById(id: Long): Student {
// do implementation
}
}

最佳答案

在 Kotlin 中,要从一个类继承,您必须编写其主构造函数,因此您总是会看到父类后面跟着 (),有时里面还有东西。

接口(interface)不需要这个。您只需编写接口(interface)的名称即可。

因此,如果您在名称后看到方括号,那就是父类。否则它是一个接口(interface)。

关于java - 如何区分 kotlin 类继承(在 java 中扩展)和接口(interface)实现(implements in)这里 kotlin 使用(: ) for both?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972859/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com