文章目录

  • I . Kotlin 接口定义与实现
  • II . Kotlin 抽象类定义
  • III . Kotlin 类继承抽象类并实现接口
  • IV . Kotlin 接口与抽象类子类测试

I . Kotlin 接口定义与实现


1 . Kotlin 定义接口 :

/*** 定义接口*/
interface IStudent{//声明抽象方法fun study()}

2 . Kotlin 接口实现 :

/*** 如果类实现一个接口 , 那么必须全部实现接口中的方法* 抽象类实现一个接口 , 可以不实现接口中的方法*/
class MaleStudent : IStudent{/*** 实现 / 重写抽象方法 需要在方法关键字 fun 前添加 override 关键字*/override fun study() {println("男学生学习")}}

3 . 测试接口 及 实现类 :

//创建接口的实现类对象
var maleStudent : MaleStudent = MaleStudent()//男学生学习
maleStudent.study()

II . Kotlin 抽象类定义


定义 Kotlin 抽象类 :

/*** 抽象类 : 只有抽象类中才能定义抽象方法 ( 与 Java 不同 )*/
abstract class Human ( var name:String , var age:Int ) {/*** 定义抽象方法 , 类必须是抽象类*/abstract fun say();}

III . Kotlin 类继承抽象类并实现接口


1 . Kotlin 类继承抽象类并实现接口 :

/*** 接口 : 表现事物的能力 , 只能有方法* 抽象类 : 表现事物的本质 , 可以有成员和抽象方法** 该类继承抽象类 , 实现接口*/
class HumanStudent(name : String, age : Int) : Human(name , age), IStudent{override fun say() {println( "" + age + "岁的人类学生" + name + "在说话")}override fun study() {println("人类学生在学习")}}

2 . 测试 接口 + 抽象类 : HumanStudent 继承了抽象类 , 实现类接口 ;

// 测试 接口 + 抽象类//HumanStudent 继承了 Human 抽象类 , 实现了 Student 接口
var humanStudent : HumanStudent = HumanStudent("Tom", 18);//18岁的人类学生Tom在说话
humanStudent.say();//人类学生在学习
humanStudent.study();

IV . Kotlin 接口与抽象类子类测试


1 . 接口 : 表现事物的能力 , 只能有方法

2 . 抽象类 : 表现事物的本质 , 可以有成员和抽象方法

// 3 . 将 接口 实现类放到集合中var students = listOf<IStudent>(maleStudent, humanStudent);//循环遍历集合
for(student in students){if(student is Human){//18岁的人类学生Tom在说话student.say()}if(student is IStudent){//人类学生在学习student.study()}
}

【Kotlin】Kotlin 抽象类与接口 ( 接口声明 | 接口实现 | 抽象类声明与实现 )相关推荐

  1. 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )

    文章目录 I . 接口总结 II . 接口声明 III . 接口实现 IV . 接口中的方法 V . 接口中的属性 ( 变量 / 常量 ) VI . 接口中的属性属性覆盖 ( 变量 / 常量 ) VI ...

  2. Kotlin实战指南五:继承、接口

    转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87874895 本文出自[赵彦军的博客] 继承.接口 继承 子类有主构造函数 子类 ...

  3. kotlin学习笔记——类、函数、接口

    1.类 类是空的可以省略大括号, 如: class A(name: String) 注意:kotlin与java的一个不同点,代码句结尾不必加":"号 2.类继承 默认是final ...

  4. 创建一个vehicle类并将它声明为抽象类_java_创建一个vehicle接口

    在两个名称分别为 Bike 和 Bus 的类中实现 Vehicle 接口.创建一个名 称为 interfaceDemo 的类,在 interfaceDemo 的 main()方法中创建 Bike 和 ...

  5. “接口”的定义及其与“抽象类”的区别

    我们知道一个有抽象方法的类是抽象类,而当一个类中全是抽象方法时,就可以定义为接口(interface) 接口命名通常以"I"开头: 接口中的方法默认有public abstract ...

  6. java 接口工程_Java工程师(15)抽象类与接口

    抽象类 思考下面程序潜在的问题 交通工具中定义了4个方法,其中行驶方法内部会依次调用启动.加速.停止方法.由于不同的交通工具,启动的方式差异很大,所以交通工具类中并不实现该方法,而是将其交给子类实现. ...

  7. 在Java中是如何定义和声明接口的?

    java技术需要学习的内容有很多,本期小编整理的教程资料就是关于"在Java中是如何定义和声明接口的?"的内容,希望下面的介绍能够给大家带来帮助. 如果一个抽象类的所有方法都是抽象 ...

  8. 第10章 接口、继承与多态----抽象类和接口

    一.抽象类 在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理.回想继承和多态原理,继承树中越是在上方的类越抽象,如:鸽子类继承鸟类.鸟类继承动物类等.在多态机制中,并不需要 ...

  9. C# 多态(接口、虚方法、抽象类)的理解

    这几天正在做GDI+的一个练习程序,参考了<VC#.NET开发交互式CAD系统>这本书,书中的参考方法创建了许许多多的类和一个接口.开始我还在想接口有啥作用啊?是不是有点多此一举.然后就去 ...

  10. [Java] 接口(Interface)与 抽象类 (Abstract)使用规则和区别

    版权声明:请尊重个人劳动成果,转载注明出处,谢谢! 目录(?)[+] 接口(Interface) 是抽象方法的集合,接口通常以interface来声明. 一个类通过继承接口的方式,从而来继承接口的抽象 ...

最新文章

  1. MongoDB:mongodb在项目开发时的安全验证、分页查询操作
  2. MySQL学习(十五)
  3. STM32之DAC例程
  4. Android ListView使用
  5. 你知道怎么离线安装全局 node 模块吗?
  6. CString转char*的两种方法讨论
  7. android:layout_weight属性详解 (转)
  8. BOOST 升压电路调试笔记
  9. 深度学习入门_对ORL数据集进行特征提取降维后SVM分类
  10. 全国社会组织信用信息公式平台(试运行)爬虫记录
  11. 《疯狂农场》带来的启示
  12. 汉诺塔(Hanoi Tower)
  13. mysql 编程 备份_mysql 容灾备份
  14. 强制类型转化(数组名以及数组名取地址)
  15. 《女医明妃传》里为美人腹黑的代宗,实际更爱江山,还原真实明史
  16. PCB板框的绘制——AD19
  17. [PL/SQL] 请教大家一个问题,存储过程中需要几个commit?
  18. doc、xls 等 office 2002 之类的格式有 MIME
  19. 微信小程序的底层架构原理,及如何做性能优化
  20. 数据库安全防SQL注入

热门文章

  1. python爬虫(五)_urllib2:urlerror和httperror
  2. 【NOIP2013模拟】黑魔法师之门
  3. [51nod]1284 2 3 5 7的倍数(容斥原理)
  4. 古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串...
  5. JAVA中的常量定义在class中还是interface中比较合理?
  6. hdu1032 Train Problem II (卡特兰数)
  7. Linux EOF使用
  8. 使用VS2012进行性能测试和负载测试
  9. Windows 7防火墙配置FTP相关
  10. tinyMce在线编辑器内JavaScript实现按Ctrl+S无刷新保存