17-ts中的类的继承

TypeScript中类的继承

​ TypeScript中类的继承和es6一样,通过extends关键字进行继承。子类在继承后若要复写父类的constructor方法需要先调用super()方法,并且要传入父类中构造函数定义的参数。如下代码中复写父类的constructor方法中先调用了super()方法,并传入了父类的constructor()方法中要求传入的参数age。如果子类的方法和父类的同名,子类中的方法会覆盖父类的方法。

//父类Animal
class Animal{
    age: number
    constructor(age: number) {
        this.age = age;
    }
    //父类的eat方法
	eat() {
    	console.log("吃个大鸡腿儿")
	}
}

//继承Animal类的子类Dog
class Dog extends Animal{
    type: string
    constructor(type: string, age: number) {
        //继承的字类中的构造方法中必须先调用super()方法,并且要传入父类中构造函数定义的参数。
        super(age);
        this.type = type;
    }
    // 子类中如果出现了和父类同名的方法,则会进行覆盖
	// 也就是调用的时候,调用的就是子类中的方法了!
	eat() {
    	console.log('狗对象中的eat方法')
	}
}

//初始化一个Dog实力并传入种类和年龄参数
var dog = new Dog("哈士奇", 18);

dog.eat();

你可能感兴趣的:(css,html,typescript,类,class)