4、类

今天的视频内容是关于Kotlin中类的相关知识。
众所周知,Kotlin是一门面向对象语言。
首先我们新建了一个项目,然后再新建一个package:
在放代码前有一个小细节,我们下面的代码虽然直接使用实例访问属性,但实际上Kotlin会调用属性隐藏的getter方法
在Kotlin中,所有默认都是public的
我们还可以设置private,internal等(后面会讲)
这里有个小总结(关于成员的可访问性):
public:所有都可访问
private:内部类,子类不可以
protected:内部类,子类可以
internal:module内可访问

这期视频我们写了两个文件(知识点都在文件里,很简单):

package Aquarium

class Aquarium{
    var width:Int = 20
    var height:Int = 40
    var length:Int = 100

    var volume:Int
            get() = width*height*length/1000
            set(value) {height=value*1000/width*length}



}
package Aquarium

fun main(args:Array<String>){
    buildAquarium()
}

fun buildAquarium(){
    val myAquarium = Aquarium()

    println("length:${myAquarium.length}," +
            "width:${myAquarium.width}," +
            "height:${myAquarium.height}")

    myAquarium.height=80
    println("height:${myAquarium.height} cm")

    println("volume:${myAquarium.volume} liters")
}

接下来又到了练习环节:
1-建一个SimpleSpice类
2-两个属性,name of the spice。level of spiciness,要求都是String类型的
3-name设置成curry,level设置成mild
4-增加一个属性heat,返回level的数字表示,mild表示5
5-创建一个实例,输出name和heat

参考答案是:

class SimpleSpice(){
    val name = "curry"
    val spiciness = "mild"
    val heat: Int
        get() {return 5 }
}

val simpleSpice = SimpleSpice()
println("${simpleSpice.name} ${simpleSpice.heat}")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容