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

在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. Eclipse Web项目配置

    1.每次重开workspace都要重新配置一次 2.new web project之前配置 3.Windows-Preferences-(所有都要记得Apply) General   Maven P. ...

  2. CPU平均负载 load average

    平均负载是指上一分钟同时处于就绪状态的平均进程数.在CPU中可以理解为CPU可以并行处理的任务数量,就是CPU个数X核数.如果CPU Load等于CPU个数乘以核数,那么就说CPU正好满负载,再多一点 ...

  3. 剑指Offer-不用加减乘除做加法

    package Other; /** * 不用加减乘除做加法 * 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. * 思路:位运算 * 1.两个数异或:相当于每一位相加 ...

  4. MYSQL数据库学习十四 存储过程和函数的操作

    14.1 为什么使用存储过程和函数 一个完整的操作会包含多条SQL语句,在执行过程中需要根据前面SQL语句的执行结果有选择的执行后面的SQL语句. 存储过程和函数的优点: 允许标准组件式编程,提高了S ...

  5. poj-1005-l tanink i need a houseboat

    Description Fred Mapper is considering purchasing some land in Louisiana to build his house on. In t ...

  6. Shell 判断文件或文件夹是否存在

    #shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi #shell判断文 ...

  7. [bzoj1497][NOI2006]最大获利_网络流_最小割

    最大获利 bzoj-1497 题目大意:可以建立一个点,花费一定的代价:将已经建立的两个点之间连边,得到一定收益.有些节点之间是不允许连边的. 注释:1<=点数<=5,000,1<= ...

  8. NOIP2017划水崩盘记

    Before-Day1              自信心爆棚,老子一定能拿省一.一天啥也没干,一顿乱奶.敬等明日切T1写暴力. Day 1 哈哈哈,T1是数论,闭眼睛切啊!! ...然后就Gg了,写的 ...

  9. Jmeter中正则表达式提取器使用详解

    在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...

  10. struct_2拦截器与过滤器

    这个为网上所剪切的知识点,仅为个人学习所用,无其他用途. 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者 ...