泛型类

把类作为参数的泛型类

/** 
 * 定义一个User的类作用是映射数据库字段
 * 定义一个MysqlDb类用于操作数据库
 * 把User类作为参数传到MysqlDb中
*/

// class User {
//     username: string | undefined
//     password: string | undefined
// }
// class MysqlDb {
//     add(user: User): boolean {
//         console.log(user)
//         return true
//     }
// }
// var u = new User()
// u.username = '张三'
// u.password = '123456'
// var Db = new MysqlDb()
// console.log(Db.add(u))

// class ArticleCate {
//     title: string | undefined
//     desc: string | undefined
//     status: number | undefined
// }
// class MysqlDb1 {
//     add(a: ArticleCate): boolean {
//         console.log(a)
//         return true
//     }
// }
// var ar = new ArticleCate()
// ar.title = '国内'
// ar.desc = '国内新闻'
// ar.status = 1
// var Db1 = new MysqlDb1()
// console.log(Db1.add(ar))

//上面每创建一个数据表都要重新写一个MysqlDb类
//下面就是把类作为参数的泛型类
class MysqlDb<T> {
    add(info: T): boolean {
        console.log(info)
        return true
    }
}

class User {
    username: string | undefined
    password: string | undefined
}
var u = new User()
u.username = '张三1'
u.password = '1235567'
var m = new MysqlDb<User>()
m.add(u)

class ArticleCate {
    title: string | undefined
    desc: string | undefined
    static?: number | undefined
    constructor(params: {
        title: string | undefined
        desc: string | undefined
        static?: number | undefined
    }) {
        this.title = params.title
        this.desc = params.desc
    }
}
var ar = new ArticleCate({
    title:'分类',
    desc:'12121'
})
var Db = new MysqlDb<ArticleCate>()
Db.add(ar)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值