1:类与对象
类就是某种事物,
对象就是某种事物里面的某个类,
如人是一个类,男人女人就是类里面的对象
学校是一个类,里面的某个班级就是这个类里面的某个对象
对象可以具有类的所有特征,也可以有自己的特征
比如,人可以吃饭,说话,唱歌,
男人,女人都是同样的,也都可以唱歌,吃饭,但是他们还可以谈恋爱,吃零食,
每个对象都有可能会做不同的事情,这就是有自己的特征
其在kotlin中如何实现呢?看代码
比如我想要一个陕西彭于晏,我new一个男人出来,让他得到彭于晏的属性
class 男人(这就是这个子类的构造){
}
class 男人(性格: String, 长相: String, 身材: String) {
init {
println("new 了一个男人,她的性格:$性格 , $长相 , $身材")
}
}
class 女人(性格: String, 长相: String, 身材: String) {
init {
println("new 了一个女人,她的性格:$性格 , 长相:$长相 , 身材:$身材")
}
}
fun main(args: Array<String>) {
//定义一个变量:陕西彭于晏,然后new(:)一个男人 = 男人(添加这个对象的参数)
val 陕西彭于晏:男人 = 男人("阳光","帅气","八块腹肌")
val 陕西范冰冰:女人 = 女人("开朗","甜美","一流")
}
子类继承父类
(比如某些类他们有共性,我们将其提取出来,就成为了父类,然后分别继承给子类)
//两个子类分别继承了人这个父类,所以拥有了父类的所有特性
class 男人(性格: String, 长相: String, 身材: String, 妹妹:String) : 人(性格, 长相, 身材){
init {
//我继承了父类可以有父类的方法,也可以有自己的方法
println("男人 ,ta的性格$性格,长相:$长相 , 身材:$身材,妹妹:$妹妹")
}
}
class 女人(性格: String, 长相: String, 身材: String) : 人(性格, 长相, 身材)
//在final状态下是不能被继承的,直接open将他打开就能继承了
open class 人(val 性格: String, val 长相: String, val 身材: String) {
init {
//${this.javaClass.simpleName}获得实现类的类名
println("new 了一个${this.javaClass.simpleName},Ta的性格:$性格 , 长相:$长相 , 身材:$身材")
}
}
fun main(args: Array<String>) {
//定义一个变量:陕西彭于晏,然后new(:)一个男人 = 男人(添加这个对象的参数)
val 陕西彭于晏: 男人 = 男人("阳光", "帅气", "八块腹肌","桥本有菜")
val 陕西范冰冰: 女人 = 女人("开朗", "甜美", "一流")
}
这个结果是为什么呢?
这就不用说明了吧,既然是人的子类呢么陕西彭于晏是不是人这个判断就肯定返回为true了。