Kotlin之抽象类

1、声明

Java一样,abstract 关键字用于在Kotlin中声明抽象类

类本身,或类中的部分成员,都可以声明为abstract

2、用法

kotlin的抽象类用法基本与Java一样

下面用BaseActivity举例说明

3、抽象类

abstract class BaseActivity{
	//......
}

4、抽象函数

abstract fun getLayoutId():Int
//抽象函数初始化View
abstract fun initView()
//抽象函数初始化数据
abstract fun initData()
//其他抽象函数
abstract fun initXXX()

5、抽象类的使用

抽象类使用 (:)进行继承

class MainActivity :BaseActivity(){
	//......
}

使用关键字override进行覆盖抽象方法

override fun getLayoutId(): Int {
    return 123456
}

override fun initView() {
    println("initView is run")
}

override fun initData() {
    println("initData is run")
}

override fun initXXX() {
    println("initXXX is run")
}

6、完整代码

//抽象类
abstract class BaseActivity{

    fun onCreate(){
        setContentView(getLayoutId())
        initView()
        initData()
        initXXX()
    }

    private fun setContentView(layoutId:Int){
        println("当前加载的布局是layoutId=$layoutId")
    }

    //抽象函数
    abstract fun getLayoutId():Int
    //抽象函数初始化View
    abstract fun initView()
    //抽象函数初始化数据
    abstract fun initData()
    //其他抽象函数
    abstract fun initXXX()

}

//抽象函数的使用
class MainActivity :BaseActivity(){

    override fun getLayoutId(): Int {
        return 123456
    }

    override fun initView() {
       println("initView is run")
    }

    override fun initData() {
        println("initData is run")
    }

    override fun initXXX() {
        println("initXXX is run")
    }

}

fun main() {
    MainActivity().onCreate()
}

输出

当前加载的布局是layoutId=123456
initView is run
initData is run
initXXX is run
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值