// 基类必须加 open 才能被继承
open class Animal {// 方法也要加 open 才能被子类重写open fun makeSound() {println("Some sound")}
}class Dog : Animal() {override fun makeSound() {println("Woof!")}
}// 使用
val dog = Dog()
dog.makeSound() // 输出: Woof!
Lambda 表达式:简化匿名函数
val numbers = listOf(1, 2, 3)// ✅ 正确:单数参数名(代表每个元素)
numbers.filter { number -> number > 1 }// ❌ 错误:复数参数名(容易误解为整个集合)
numbers.filter { numbers -> numbers > 1 } // 编译错误!因为 `numbers` 是单个元素,不能和数字比较
data class Student(val name: String, val score: Int)val students = listOf(Student("小明", 90),Student("小红", 80)
)// ✅ 正确:单数参数名,代表每个学生对象
students.filter { student -> student.score > 85 }// ✅ 也可以用 `it` 简写
students.filter { it.score > 85 }