Kotlin基础(六)接口、泛型
来源:互联网 发布:淘宝官方店都是正品吗 编辑:程序博客网 时间:2024/06/15 00:13
接口定义:Interface 接口名{//各种属性或方法定义}
//接口和泛型
interface IBaseDao<T> { val city : String get() = "北京" var grade : Int fun <T>add(t : T) fun del(id: Int) fun update(id: Int, stu: Student) fun select()}
//实现接口
open abstract class BaseDao<T> : IBaseDao<T>{ override fun update(id: Int, stu: Student) { } }
学生类:
class Student { private var name : String? = null private var score : String? = null private var grade : Int? = null}
用户类:
class User { private var name : String? = null private var sex : String? = null private var age : Int? = null}
//学生Dao
class StudentDao : BaseDao<Student>() { override fun del(id: Int) { } //这里就可以直接使用当前对象了 override fun <Student> add(t: Student) { } override fun select() { } override var grade: Int get() = 9 set(value) { when (grade) { 1 -> { println("1岁") } 2, 3, 4 -> { println("大于一岁") } 5 -> { println("大于4岁") } } } override fun update(id: Int, stu: Student) { }}
//用户Dao
class UserDao : BaseDao<User>() { override var grade: Int get() = 9 set(value) { when (grade) { 4 -> { println("4") } 6,7,8,9 -> { println("678") } 10,11 -> { println("10") } } } //这里就可以直接使用当前对象了 override fun <User> add(t: User) { } override fun del(id: Int) { } override fun select() { }}
高级使用请参见:
https://www.jianshu.com/u/5509a21c1623
阅读全文