安卓开发:使用类和对象

文章展示了如何在Kotlin中定义一个SmartDevice类,包括可变和不可变属性、构造函数、方法以及属性的getter和setter。类包含name、category、statusCode属性,以及turnOn和turnOff方法来模拟设备的开关状态。示例中还创建了一个SmartDevice实例并调用了其方法。
摘要由CSDN通过智能技术生成
// 定义SmartDevice类
class SmartDevice(var name: String, var category: String, var statusCode: Int) {
    // 属性是在类主体(而非函数主体)中定义的变量。
    // 可以使用val关键字定义不可变属性,使用var关键字定义可变属性
//     var name = "Android TV" // 名字 = Android TV
//     var category = "Entertainment" // 分类 = 娱乐
    var deviceStatus = "online" // 设备状态 = 在线
    // 属性中getter和setter函数;val 类型的变量为只读变量,因此不含 set() 函数。
	// 如果想读取 get() 函数中的属性值或更新 set() 函数中的值,您需要使用对应属性的后备字段。
	// 该字段是由 Kotlin 编译器自动生成,并通过 field 标识符来引用。
	// 例如,若要确保赋给 speakerVolume 属性的值介于 0 到 100 之间,您可以实现 setter 函数,
    var speakerVolume = 2
    get() = field
    set(value) {
        if (value in 0..100) {
            field = value
        }
    }
//     var statusCode = 1
	// 定义构造函数;语法如下
    // 形参 name: String, category: String, statusCode: Int  
    constructor(name: String, category: String, statusCode: Int) : this(name, category) {
        deviceStatus = when(statusCode) {
            0 -> "offline"
            1 -> "online"
            else -> "unknown"
        }
    }
     
    // 定义turnOn 打开方法
    fun turnOn() {
        println("smart device is turned on.")
        turnOff() // 在SmartDevice类中调用自己的方法
    }
   // 定义turnOff 关闭方法
   fun turnOff() {
       println("smart device is turned off")
   }
}

fun main() {
    val smartTvDevice = SmartDevice(name = "洗衣机", category = "娱乐", statusCode = 1) // 创建smartTvDevice对象
    smartTvDevice.turnOn() // 在main函数中调用smartTvDevice对象的方法
    smartTvDevice.turnOff()
 
}

代码待优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值