如何从子类中调用基类构造函数在TypeScript中

如何从子类中调用基类构造函数在TypeScript中

在本文中,我们将学习如何从子类中调用基类构造函数。当一个类继承另一个类的属性时,它被称为 子类 ,而继承属性的类被称为 父类 ,整个过程被称为 继承 。在继承中,子类获得了基类或父类的属性。

您可以使用 super() 调用子类中的基类构造函数,这将执行基类的构造函数。

示例:

class Person {
  
  // Person类的属性
  Name: string;
  Profession: string;
  
  // Person类的构造函数
  constructor(name: string, profession: string) {
    this.Name = name;
    this.Profession = profession;
  }
}
  
class Details extends Person {
  
  // 类的属性
  Name: string;
  Profession: string;
  
  // Details类的构造函数
  constructor(name: string, profession: string) {
  
    // 调用基类构造函数
    super(name, profession);
  
    // 设置属性
    this.Name = name;
    this.Profession = profession;
  }
  
  details(): string {
    return this.Name + " 是 " +
      this.Profession;
  }
}
  
// 创建对象
var data =
  new Details("A", "Android开发者");
var data2 =
  new Details("B", "Web开发者");
  
// 访问details()函数并打印输出
console.log(data.details());
console.log(data2.details());
HTML

输出:

A  Android开发者
B  Web开发者
HTML

在这里, Person 类是我们的父类, Details 类是我们的子类,也是 Details 类继承了 Person 类的属性。使用extends关键字来继承另一个类。Details类继承了Person类的属性。

现在在派生类中,我们使用了 super() 来调用基类或父类的构造函数。然后,我们创建了Details类的实例,并将两个参数name和profession传递给其构造函数,然后我们调用了 details 方法,该方法将打印出构造函数参数中所提供的值。

示例2:

class Square {
  
  // Square类的属性
  side: number;
  
  // Square类的构造函数
  constructor(side: number) {
    this.side = side;
  }
}
  
class Area extends Square {
  
  // Area类的属性
  side: number;
  
  // Area类的构造函数
  constructor(side: number) {
  
    // 调用基类构造函数
    super(side);
  
    // 设置属性
    this.side = side;
  
  }
  
  // 返回正方形的面积
  area(): string {
    return "正方形的面积是 " + t
      his.side * this.side;
  }
}
  
// 创建Area类的对象
var data = new Area(7);
  
// 获取属性并打印值
console.log(data.area());
HTML

输出:

正方形的面积是49
HTML

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册