Kotlin 类与继承

这里我想用自己的理解来向你解释什么是面向对象编程。不同于面向过程的语言(比如 C
语言),面向对象的语言是可以创建类的。类就是对事物的一种封装,比如说人、汽车、房
屋、书等任何事物,我们都可以将它封装一个类,类名通常是名词。而类中又可以拥有自己的
字段和函数,字段表示该类所拥有的属性,比如说人可以有姓名和年龄,汽车可以有品牌和价
格,这些就属于类中的字段,字段名通常也是名词。而函数则表示该类可以有哪些行为,比如
说人可以吃饭和睡觉,汽车可以驾驶和保养等,函数名通常是动词
创建一个人的类
创建一个kt文件
首次运行可能会报一个错误java.lang.ClassNotFoundException:
找不到一个执行文件
问题不大,直接运行第二遍
运行结果
继承与构造函数
现在我们开始学习面向对象编程中另一个极其重要的特性 —— 继承。继承也是基于现实场景总
结出来的一个概念,其实非常好理解。比如现在我们要定义一个 Student 类,每个学生都有自
己的学号和年级,因此我们可以在 Student 类中加入 sno grade 字段。但同时学生也是人
呀,学生也会有姓名和年龄,也需要吃饭,如果我们在 Student 类中重复定义 name age 字段
eat() 函数的话就显得太过冗余了。这个时候就可以让 Student 类去继承 Person 类,这样
Student 就自动拥有了 Person 中的字段和函数,另外还可以定义自己独有的字段和函数。
很明显, Kotlin 在设计的时候遵循了这条编程规范,默认所有非抽象类都是不可以被继承的。之
所以这里一直在说非抽象类,是因为抽象类本身是无法创建实例的,一定要由子类去继承它才
能创建实例,因此抽象类必须可以被继承才行,要不然就没有意义了。由于 Kotlin 中的抽象类和
Java 中并无区别,这里我就不再多讲了。
既然现在 Person 类是无法被继承的,我们得让它可以被继承才行,方法也很简单,在 Person
类的前面加上 open 关键字就可以了
两种写法
直接在函数里面定义自己想要的类型方法
kt实现方法一
方法二
类似于java new对象
实现结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值