kotlin抽象类和继承

2人阅读 评论(0) 收藏 举报
分类:

kotlin抽象类和继承

抽象类

一个类和其一些成员可以被声明为抽象。 抽象成员在其类中没有实现。 请注意,不需要使用open来注释抽象类或函数。

可以用抽象来覆盖一个非抽象的open成员 -

open class Base {
    open fun f() {}
}

abstract class Derived : Base() {
    override abstract fun f()
}
Kotlin

继承一个抽象类:父类使用abstract,而不使用open在class的开头,父类中的方法同样也是。


简单实例:


父类Human:

abstract class Human(var name:String) {
    abstract fun eat()
}

子类man:

class man( name:String):Human(name){
    override fun eat() {
        println("${name}大口吃")
    }
}

子类Woman:

class Woman(name:String):Human(name){
    override fun eat() {
        println("${name}小口吃")
    }
}

测试test文件:

fun main(args: Array<String>) {
    var person=man(name = "金三炮")
    person.eat()

    var person1=Woman(name = "朴金汇")
    person1.eat()
}

运行结果:

金三炮大口吃
朴金汇小口吃

查看评论

kotlin的 类,继承,重载,抽象类,构造函数

kotlin--类和继承 主要内容 类声明构造函数声明实例化继承方法重载抽象类 一、类声明 使用class关键字声明类,查看其声明格式: : modifier...
  • u010361662
  • u010361662
  • 2017-01-04 17:57:59
  • 3650

Kotlin-抽象类和接口

对于面向对象编程来说,抽象是它的一大特征之一。在Kotlin中可以通过抽象类和接口来完成抽象。抽象类和接口有很多相似之处,又有不同之处。抽象方法抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。...
  • IO_Field
  • IO_Field
  • 2016-10-19 16:48:39
  • 5671

【Kotlin从入门到深坑】之类的覆盖属性和方法以及抽象类

简介本篇博客主要是介绍Kotlin语法中的【类的覆盖属性和方法以及抽象类】相关的知识,帮助各位更快的掌握Kotlin,如果有疏漏或者错误,请在留言中指正,谢谢。 系列汇总地址上一篇博客中我们详细介绍了...
  • guohaiyang1992
  • guohaiyang1992
  • 2017-06-07 22:00:17
  • 1478

Kotlin语法(六)-类和继承

类 1.     声明类          Kotlin使用关键字*class *{:.keyword}声明类。类声明包括类名、类头(指定其类型参数,主构造函数等)和这个类的主干。类头和主体都是可选的...
  • tangxl2008008
  • tangxl2008008
  • 2016-08-13 17:03:35
  • 5122

Kotlin编程之伴生对象,抽象类,密封类

Kotlin编程中: 1. 伴生对象; 2. 抽象类; 3. 密封类;
  • hexingen
  • hexingen
  • 2017-05-31 21:10:02
  • 3093

黑马程序员——抽象类能否继承普通类与接口能否继承普通类

------- android培训、java培训、期待与您交流! ---------- 什么是抽象类?      1、抽象方法和抽象类用关键字abstract表示。      2、有抽象...
  • qq_28592367
  • qq_28592367
  • 2015-08-10 21:14:45
  • 715

抽象类继承非抽象类

在java里面抽象类是常见的,一般情况下都是, 1. 抽象类被实体类继承 2. 抽象类被其他的抽象类继承 今天查看Spring源码,发现,public abstract class Fac...
  • laiwenqiang
  • laiwenqiang
  • 2017-01-10 17:35:24
  • 986

Java中的一般继承和抽象继承的区别

曾经在一次面试中,在介绍一个通用设计时说,接口负责定义public属性和方法,并且声明与其他对象的依赖关系,抽象类负责公共构造部分或方法的实现,实现类准确的实现业务逻辑,同时在适当的时候对父类进行细化...
  • scherrer
  • scherrer
  • 2015-01-05 12:29:43
  • 5441

C#中的继承 (继承、抽象类和抽象方法、接口)

一、继承什么是继承:继承是允许重用现有类去创建新类的过程。分类的原则是一个类派生出来的子类具有这个类的所有非私有的属性。1、继承C#中的类:C#不支持多重继承,C#类始终继承自一个基类(如果未在声明中...
  • wokeyid
  • wokeyid
  • 2008-05-05 10:25:00
  • 3380

关于接口能否继承接口,抽象类是否…

首先我们先来了解两个名词:接口、抽象类、具体类。 接口:[interface]∶两个不同系统(或子程序)交接并通过它彼此作用的部分。 抽象类:抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概...
  • zp511253886
  • zp511253886
  • 2014-11-24 11:46:10
  • 5740
    个人资料
    等级:
    访问量: 9013
    积分: 461
    排名: 10万+
    文章分类
    最新评论