大家好,我是William。今天是Koan第七关,Data Classes,数据类。相当有意思。
来闯关吧:
https://try.kotlinlang.org/#/Kotlin%20Koans/Introduction/Data%20classes/Task.kt
Introduction
Data classes
Rewrite the following Java code to Kotlin:
public class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Then add a modifier data to the resulting class. This annotation means the compiler will generate a bunch of useful methods in this class: equals/hashCode, toString and some others. The getPeople function should start to compile.
Read about classes, properties and data classes.
解:
本题正式介绍面向对象的内容了,一来就是Data Classes。跳的有点快了。所以题目直接给出了链接让解题者先快速浏览一遍相关概念。不过可以看得出,老外其实学习方式挺灵活的,不像我们国内那样先打好基础再解题,人家是先解题,遇到不懂就自己查阅资料达到能解题的程度就立刻停止阅读然后提交答案。反正,我就已经习惯了这样的学习方法。
答:
答案是很简单的,就一行,如果你花了很多时间去查资料,那么你就完全领会不了人家老外的学习方法啦。
data class Person(val name:String, val age:Int)
fun getPeople(): List<Person> {
return listOf(Person("Alice", 29), Person("Bob", 31))
}
小结
今天的重点不是学习Data Classes的知识,而是领会Thinking in 老外的学习方法,人家为什么可以一个星期掌握一门编程语言,有的甚至是更短的时间。