【TypeScript类简介以及使用方法】

TypeScript 引入了类的概念,允许使用面向对象的编程范式。类是对象的模板或蓝图,它定义了一组属性和方法,这些属性和方法被对象所共享。在 TypeScript 中,类提供了更结构化、可维护且可重用的代码方式。

TypeScript 类简介

  1. 属性:类中的变量称为属性(也称为字段或成员变量)。
  2. 方法:类中的函数称为方法(也称为成员函数)。
  3. 构造函数:一个特殊的方法,用于初始化新创建的对象。
  4. 继承:一个类可以从另一个类继承属性和方法。
  5. 访问修饰符:TypeScript 支持 publicprivateprotected 访问修饰符,用于控制成员的可访问性。
  6. 抽象类:不能被实例化的类,但可以被其他类继承。
  7. 静态属性和方法:属于类本身,而不是类的实例的属性或方法。

使用方法

  1. 定义类

使用 class 关键字定义类,并在大括号中定义属性和方法。

class Animal {
  public name: string;

  constructor(name: string) {
    this.name = name;
  }

  public speak(): void {
    console.log(`${this.name} makes a noise.`);
  }
}
  1. 实例化类

使用 new 关键字创建类的实例(即对象)。

let dog = new Animal('Buddy');
dog.speak(); // 输出: Buddy makes a noise.
  1. 访问修饰符

使用 publicprivateprotected 修饰符控制属性和方法的访问权限。

class Person {
  private _age: number; // 私有属性

  constructor(age: number) {
    this._age = age;
  }

  public getAge(): number { // 公有方法,用于访问私有属性
    return this._age;
  }
}

let person = new Person(30);
// person._age; // 错误:私有属性只能在类内部访问
console.log(person.getAge()); // 输出: 30
  1. 继承

使用 extends 关键字让一个类继承另一个类。

class Dog extends Animal {
  constructor(name: string) {
    super(name); // 调用父类的构造函数
  }

  public bark(): void {
    console.log(`${this.name} says woof!`);
  }
}

let d = new Dog('Spike');
d.speak(); // 输出: Spike makes a noise.
d.bark(); // 输出: Spike says woof!
  1. 抽象类

使用 abstract 关键字定义抽象类,它不能被实例化,但可以被其他类继承。

abstract class AnimalBase {
  public abstract speak(): void; // 抽象方法,必须在子类中被实现
}

class DogBase extends AnimalBase {
  public speak(): void {
    console.log('The dog speaks!');
  }
}

// new AnimalBase(); // 错误:抽象类不能被实例化
let dogBase = new DogBase();
dogBase.speak(); // 输出: The dog speaks!
  1. 静态属性和方法

在类上定义,而不是在类的实例上定义。

class MathUtils {
  static PI = 3.14159; // 静态属性

  static calculateArea(radius: number): number { // 静态方法
    return MathUtils.PI * radius * radius;
  }
}

console.log(MathUtils.PI); // 输出: 3.14159
console.log(MathUtils.calculateArea(5)); // 输出: 78.53975
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加仑小铁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值