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

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

父类:

class Doctor{
public name:string;
public getname():void {
console.log("my name is:"+this.name);
}
}

子类:

class AdvancedDoctor extends Doctor{
public getlevel(){
console.log("Advanced");
}
}

调用子类:

var addoc=new AdvancedDoctor();
addoc.name="cj";
addoc.getname();
addoc.getlevel();

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

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

父类:

class Wife{
public name:string;
constructor(name:string){
this.name=name;
}
public getname():void{
console.log("my wife name is:"+this.name)
}
}

子类:

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

调用子类:

var smallwife=new SmallWife("hcc",1);
smallwife.getname();
smallwife.sleep();

欢迎加入QQ群讨论:573336726

09-TypeScript中的继承的更多相关文章

  1. 《前端之路》- TypeScript (三) ES5 中实现继承、类以及原理

    目录 一.先讲讲 ES5 中构造函数(类)静态方法和多态 1-1 JS 中原型以及原型链 例子一 1-2 JS 中原型以及原型链中,我们常见的 constructor.prototype.**prot ...

  2. Objective-C中的继承和多态

    面向对象编程之所以成为主流的编程思想和他的继承和多态是分不开的,只要是面向对象语言都支持继承和多态,当然不同的OOP语言之间都有其特点.OC中和Java类似,不支持多重继承,但OOP语言C++就支持多 ...

  3. JavaScript 和 TypeScript 中的 class

    对于一个前端开发者来说,很少用到 class ,因为在 JavaScript 中更多的是 函数式 编程,抬手就是一个 function,几乎不见 class 或 new 的踪影.所以 设计模式 也是大 ...

  4. typescript中类的继承

    typescript中类的继承用到的是:extends和super 先看一下typescript中类的写法: class Demo{ //类的属性 name:string; age:number; / ...

  5. typescript类与继承

    /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2.第二步 任务 ...

  6. 十分钟教你理解TypeScript中的泛型

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://blog.bitsrc.io/understanding-generics-in-t ...

  7. 【翻译】在TypeScript中,Extends和Implements一个抽象类有什么不同

    我们知道在TypeScript中一个类既可以被implement也可以被extends,有一些C#或java基础的同学可能会对此感到困惑,因为在上述两个面向对象的语言里面只有接口可以被implemen ...

  8. 解读typescript中 super关键字的用法

    解读typescript中 super关键字的用法 传统的js,使用prototype实现父.子类继承.如果父.子类有同名的方法,子类去调用父类的同名方法需要用 “父类.prototype.metho ...

  9. java中子类继承父类时是否继承构造函数

    来源:http://www.cnblogs.com/sunnychuh/archive/2011/09/09/2172131.html --------------------- java继承中对构造 ...

随机推荐

  1. js去重合并

    1.去重 for(var q = 0;q<jsonArr.length;q++){   for(var e=0;e<jsonArr[q].data.length;e++){   var m ...

  2. ThreadLocal用例之周期为一次请求的变量

    public class RecordedLocal { private static ThreadLocal<Recorded> local = new ThreadLocal<R ...

  3. 从IE浏览器获取当前页面的内容

    从IE浏览器获取当前页面内容可能有多种方式,今天我所介绍的是其中一种方法.基本原理:当鼠标点击当前IE页面时,获取鼠标的坐标位置,根据鼠标位置获取当前页面的句柄,然后根据句柄,调用win32的东西进而 ...

  4. 3.2.2 break 与 continue 语句

    break 语句和 continue语句在while循环和for循环中都可以使用,并且一般常与选择结构结合使用.一旦break语句被执行,将使得break语句所属层次的循环提前结束.continue语 ...

  5. 【转】UML的9种图例解析

    UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...

  6. ImageButton 图像按钮

    ImageButton 类主要成员有: setINMask 属性: 数据类型:Bool, {get ,set}. 用于确定是否接受用户输入操作,它的值是传给一个指针.这个指针指向的当前图像按钮所在的窗 ...

  7. Docker学习——pinpoint部署

    Pinpoint Install pinpoint-server 下载镜像 docker pull yous/pinpoint 查看镜像 docker images 启动容器 docker run - ...

  8. Intel 移位指令的陷阱(转)

    今天发现了一个Intel逻辑左移指令shl的一个bug.   逻辑左移的概念是对给定的目的操作数左移COUNT次,每次移位时最高位移入标志位CF中,最低位补零. 其中OPRD1为目的操作数, 可以是通 ...

  9. Android_scaleType属性

    这里我们重点理解ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType).android:scaleType ...

  10. Matlab绘图基础——图形绘制的插值

    interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样点 spline    %一 ...