ts中extends的用法 -回复
在TypeScript中,extends关键字用于创建一个类的子类,即子类继承父类的属性和方法。通过继承,子类可以使用父类的成员和功能,并且还可以根据需要添加或修改自己的成员和功能。本文将详细讨论extends的用法,以便更好地理解和应用这一概念。
script在html中的用法一、基本语法
extends关键字是定义类之间继承关系的基础,其语法如下:
class ChildClass extends ParentClass {
子类的成员和方法
}
通过extends关键字,ChildClass可以继承ParentClass的属性和方法。子类将直接继承父类的非私有成员,包括实例属性、实例方法、静态属性和静态方法。
二、继承父类的属性和方法
当子类继承父类时,父类的属性和方法会被子类自动拥有。这意味着在子类中可以直接访问父类的成员,无需重新实现。例如:
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(`Hello, I'm {this.name}`);
}
}
class Cat extends Animal {
子类的其他属性和方法
}
const cat = new Cat("Kitty");
cat.sayHello(); 输出:Hello, I'm Kitty
在上述示例中,Animal是父类,Cat是子类。Cat继承了Animal的name属性和sayHello方法,无需重新定义name和sayHello。
三、重写(Override)父类的方法
除了继承父类的成员,子类还可以根据需要对父类的方法进行重写。通过在子类中定义与父
类方法名称相同的方法,可以覆盖父类的方法实现。例如:
class Animal {
eat() {
console.log("Animal is eating");
}
}
class Cat extends Animal {
eat() {
console.log("Cat is eating");
}
}
const cat = new Cat();
cat.eat(); 输出:Cat is eating
在上述示例中,Cat类覆盖了Animal类的eat方法,并提供了自己的实现。当调用子类的eat方法时,将输出"Cat is eating"。
四、调用父类的方法
在子类中重写父类方法时,有时候我们仍然希望在子类方法中调用父类相同名称的方法。为了实现这一点,可以使用super关键字。super关键字用于引用父类的构造函数、静态方法或实例方法。例如:
class Animal {
makeSound() {
console.log("Animal is making sound");
}
}
class Cat extends Animal {
makeSound() {
super.makeSound();
console.log("Cat is making sound");
}
}
const cat = new Cat();
cat.makeSound();
在上述示例中,Cat类的makeSound方法首先调用了父类Animal的makeSound方法,然后再输出"Cat is making sound"。通过在子类方法中使用super关键字,可以访问并调用父类的方
法。
五、继承和实现接口
在TypeScript中,一个类可以同时继承一个父类和实现多个接口。extends关键字之后可以接受一个父类,而implements关键字之后可以接受一个或多个接口。通过此种方式,我们可以实现对父类的继承以及对接口的实现,并在子类中拥有这些属性和方法。例如:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论