在众多介绍软件架构的书籍中,特别是 OOP 语言为基准的话,你一定听说过一句话“组合优于继承” 【Favor composition over inheritance】
为什么这么说? 我们来看一个例子。继承非常好理解,我们需要创建一只鸡,一只鸭,我们很容易抽象出“鸟类”这个父类。如下:
Continue reading “聊聊Kotlin中的继承和组合”做一个有趣的人
在众多介绍软件架构的书籍中,特别是 OOP 语言为基准的话,你一定听说过一句话“组合优于继承” 【Favor composition over inheritance】
为什么这么说? 我们来看一个例子。继承非常好理解,我们需要创建一只鸡,一只鸭,我们很容易抽象出“鸟类”这个父类。如下:
Continue reading “聊聊Kotlin中的继承和组合”最近开发使用Kotlin确实挺爽的,就在于这门语言足够现代化,和JetBrains家的编辑器结合起来更是无敌了,自动提示,编译优化都是很实用的,但这样基本也脱离不了这个生态了,话说今天使用List的遍历,居然有六种方式,使用哪种方式都可以。这样虽然看起来很庞大,看起来很难记的样子,但是好在编译器+idea足够聪明,记住一两种就OK了。这有点像是我们学习英语,随着对语义的更加紧准的表达,英文单词拓展到了十几二十万个。(方便的同时也会加大人们的记忆负担)
brandList.forEach { println(it) }
for (brand in brandList) { println(brand) }
for (index in 0 until brandList.size) { println("$index:${brandList[index]}") }
for (index in 0..brandList.lastIndex) { println("$index:${brandList[index]}") }
for (index in brandList.indices) { println("$index:${brandList[index]}") }
brandList.forEachIndexed { index, brand -> println("$index:${brand}") }