继承泛型类

继承泛型类

继承泛型类
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'
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值