zoukankan      html  css  js  c++  java
  • 09-TypeScript中的继承

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

    在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

  • 相关阅读:
    Codeforces Gym
    洛谷试炼场一句话题解
    优先队列板子
    BZOJ 3524 [POI2014] Couriers/洛谷3567(可持久化线段树)
    hdu 4417 Super Mario(可持久化线段树)
    poj 2559 Largest Rectangle in a Histogram (单调栈)
    zoj 4019 Schrödinger's Knapsack
    hdu 1521 排列组合(指数型生成函数板子)
    hdu 2072 单词数(普通型生成函数板子)
    RabbitMQ广播:direct模式
  • 原文地址:https://www.cnblogs.com/malaoko/p/7591588.html
Copyright © 2011-2022 走看看