2025-01-14
class Dog(val name: String) {
//do something
}
如果加了val,则可以在实例对象中调用;如果不加,则是parameter,不能调用
注意,如果想要在实例中更改properties,要用var
。
val daizy = Dog("Daisy")
println(daizy.name)
可以在定义参数时给默认值val age: Int = 0
如果只在当前的文件中使用,则使用data class
data class CoffeeDetails(
val sugarCount: Int,
val name: String,
val size: String,
val creamAmount: Int
)
使用.copy方法,同时可以修改属性
val blueRoseVase = Vase(color = "Blue", design = "Rose")
val redRoseVase = blueRoseVase.copy(color = "Red")
data class Vase(val color: String, val design: String)
open class BaseClass{}
如果需要在后面override函数,也需要加上open关键字
open fun thingsToOverride(){}
override fun role(){
super.role() //继承所有
//其他代码
}
class Secondary: BaseClass(){}
一样是继承的概念,主要解决多重继承
的问题。
但是父亲不需要open
关键字
定义
interface Archer{
fun archer(){
println("Archer skills from Sir Secondary")
}
}
使用
class Offsprint: Secondary(), Archer{
}