Kotlin类修饰符

知识点

abstract抽象类

描述:关于抽象概念在编程中是最常用的,用来定义业务规则、标准和代码的灵活、高效和可复用的手段之一。

案例:比如登录场景,有帐号与密码、手机验证码、人脸识别登录,这里我们就可以定义一个类,创建一个登录的抽象方法(知识点:类里有抽象方法,该类必须为抽象类)。

代码:

abstract class BaseLogin {
    /**
     * 帐号与密码登录
     */
    abstract fun accountLogin(loginId: String, password: String): Boolean

    /**
     * 手机验证码登
     */
    abstract fun mobileValidataCode(phoneNo: String): Boolean

    /**
     * 人脸识别登录
     */
    abstract fun humanFaceLogin(loginId: String, password: String): Boolean
}

class LoginImpl:BaseLogin() {
    override fun accountLogin(loginId: String, password: String):Boolean {
        //具体帐号与密码登录逻辑
        return true
    }

    override fun mobileValidataCode(phoneNo: String) :Boolean{
        //具体帐号与密码登录逻辑
        return true
    }

    override fun humanFaceLogin(loginId: String, password: String) :Boolean{
        //具体帐号与密码登录逻辑
        return true
    }
}

final不可被继承类的修饰

        如String类就是无法被继承,另外kotlin中的类默为final,java则是相反,如代码提示不可被继承

 final class MyString {//与 final class MyString 是一样的效果
    fun log(tag: String, msg: String) {//firstChar()函数
        println("$tag->$msg")
    }
}

class OwnString:MyString(){
//This type is final, so it cannot be inherited from
}

enum枚举类

        与java使用一致

enum class LoginType{
    Account,//帐号密码登录
    Face,//人脸登录
    Vaildata//手机验证码登录
}

open可继承的类

        如final描述,在kotlin中如何需要支持类可被继承需要加上open修饰符

annotation注解类

        定义如下,在后面会详细说明注解的应用案例与场景

@Target(AnnotationTarget.FIELD)
annotation class Service(
)

 sealed密封类

        定义如下,在后面会详细说明注解的应用案例与场景

sealed class Result{}

data 数据类

        定义如下,在后面会详细说明注解的应用案例与场景

data class Student(
    val name: String,
    val no: Int
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值