classMinClass<T>{ list:T[]=[]; add(num:T){ this.list.push(num); } min():T{ // return minNum; } } // 实例化类 并且制定了类T代表的类型 var m = new MinClass<number>(); m.add(3); m.add(32); // or var m = new MinClass<string>(); m.add('222'); m.add('333');
classUser{ username:string | undefined; password:string | undefined; } classMysqlDB{ add(user:User):boolean{ console.log(user); } } var U = new User(); U.username = 'zhangsan'; U.password = '123456';
var D = new MysqlDB() D.add(U);
// 泛型类 // 1 去除重复代码 2 对于不特定类进行数据校检
classMysqlDB<T>{ add(info:<T>):boolean{ console.log(info); } } class User{ username:string | undefined; password:string | undefined; } var U = new User(); U.username = 'zhangsan'; U.password = '123456'; var D = new MysqlDB<User>(); D.add(U);
class Article{ title:string | undefined; desc:string | undefined; status:number | undefined; constructor(params:{ title:string | undefined, desc:string | undefined, status?:number | undefined }){ this.title = params.title this.desc = params.desc this.status = params.status } } var A = new Article({ titile:'123', desc:'123' }); var S = new MysqlDB<Article>(); S.add(A);