接口定义: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() {
}
}