你好,我是大学新生。我刚刚进行了有关面向对象编程的研究,而我正在研究的语言是Kotlin,但是我找不到真正需要使用抽象类或方法的真正原因。
例如:
abstract class Student(name: String, age: Int) {
init {
println("Student name is: $name")
println("Student age is: $age")
}
//non-abstract function
fun demo() {
println("Non-abstract function of abstract class")
}
//abstract function
abstract fun func(message: String)
}
class College(name: String, age: Int): Student(name, age) {
override fun func(message: String) {
println(message)
}
}
fun main(args: Array<String>) {
val obj = College("Chaitanya", 31)
obj.func("I'm a Blogger")
obj.demo()
}
参考:https://beginnersbook.com/2019/03/kotlin-abstract-class/
这仅显示基本数据吗?
抽象的目的是让您可以忽略与您无关的细节。当我使用对象列表时,通常我想添加,删除和迭代。我不担心担心调整基础数组的大小或添加和删除链接的节点。通过使用the abstract interface List
,我可以将这些详细信息放在一个盒子中,而不必考虑它们。
抽象类只是一种抽象,通常不如接口重要。它们的主要用途是允许您在一个共享的地方收集共同的特征,以减少重复。例如,如果我有一个List
,我总是需要一种对其进行迭代的方法,并且没有比遍历列表以查找该项目更有效的方法来实现List
方法。我可以将此方法放在contains
中,然后列表的实际实现(数组,链接,其他方法)仅需要提供一种迭代的方法。