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