kotlin类与对象初始

本文探讨了Kotlin中的类和对象的概念,类作为事物的抽象,对象则是类的具体实例。通过举例人和男人、女人的关系阐述了类与对象的特性,并指出对象可以拥有类的通用特征以及自身独特的特征。在Kotlin中,通过定义类和构造函数来创建对象,同时讲解了子类继承父类的机制,以实现代码复用和抽象。示例展示了如何创建一个男人类及其可能的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值