继承泛型类
继承泛型类
class Stroe<T>{
protected _objects : T[] = [];
add(obj:T){
this._objects.name ="aaa"
this._objects.push(obj);
}
}
//定义基本信息
interface Pro{
name:string;
price:number;
}
const store = new Store<Pro>()
进行继承:
class Press<T> extends Store<T>{}
new Press<Pro>()
说白了,继承泛型类就是对继承类的延伸用法,利用了泛型可以在一种地方存在不同的值的特性让子类继承父类,实现类的继承,对继承进行了拓展
再复杂一点,继承多个
//在这里先定义一个最基本的类型
interface people{
name:string;
age:number;
}
//定义一个person类型
interface person<T extends people>{
personInfo:T
//泛型T继承了people类型
}
//定义一个详细的类型,成为people父类的子类,这样study就有了name和age
interface study extends people{
school:string;
grade : string
}
const Tom: person<study> = {
//多个类型的集合后得到
personInfo:{
name:'Tom',
age:18,
school:'Hello World 大学',
grade:'大一'
}
}
这样就通过泛型继承得到了多个类型的集合,赋值后变成了Tom,当然,也可以继续创建另一个,就像是女娲造人一样,女娲用泥土,我们用代码,用一个个信息去拼凑出一个存在于数据上的 ‘人’
再创建一个 ’ 人 ‘
//再定义长相类型
interface face extends people{
eyes:string;
head:string
}
const Jarry : person<face> = {
name:'Jarry',
age:19,
eyes:'blue',
head:'big'
}