前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >09-TypeScript中的继承

09-TypeScript中的继承

作者头像
用户1910585
发布2018-05-04 17:52:40
9560
发布2018-05-04 17:52:40
举报

在后端开发语言中,继承是非常重要的概念,继承可以让子类具有父类的成员和方法,通过实例化子类,就可以访问父类的成员和方法。

在JavaScript中,需要通过原型模式来模拟继承的实现。而在TypeScript中,天生就是支持继承的。

父类:

代码语言:javascript
复制
class Doctor{
    public name:string;
    public getname():void {
        console.log("my name is:"+this.name);
    }
}

子类:

代码语言:javascript
复制
class AdvancedDoctor extends Doctor{
    public getlevel(){
        console.log("Advanced");
    }
}

调用子类:

代码语言:javascript
复制
var addoc=new AdvancedDoctor();
addoc.name="cj";
addoc.getname();
addoc.getlevel();

这里要知道的是,与后端语言类似,实例化子类时,会先调用父类的构造函数,再调用子类自己的构造函数,并且可以调用父类的相关成员与子类的相关成员。

如果子类的构造函数与父类的构造函数有不同的签名时,如果再实例化子类这个构造函数需要显示的调用父类的构造函数。

父类:

代码语言:javascript
复制
class Wife{
    public name:string;
    constructor(name:string){
        this.name=name;
    }
    public getname():void{
        console.log("my wife name is:"+this.name)
    }
}

子类:

代码语言:javascript
复制
class SmallWife extends Wife{
        constructor(name:string,count:number){
        //显示调用父类构造函数
        super(name);
    }
    //也可以显示调用父类的某个方法
    public sleep(){
        super.getname();//调父类的这个方法
        console.log("go to bed sleep");
    }
}

调用子类:

代码语言:javascript
复制
var smallwife=new SmallWife("hcc",1);
smallwife.getname();
smallwife.sleep();
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档