TypeScript中Class类的深度探索与实践

TypeScript 中的 class 是基于 ECMAScript 2015 (ES6) 引入的类语法的扩展。在 TypeScript 中,类是一种用于创建对象的蓝图或模板。它封装了对象的属性和方法,让代码更加模块化和可重用。

类的基本结构

class MyClass {
   
     
    // 类的属性(字段)  
    myProperty: string;  
    // 构造函数  
    constructor(initialProperty: string) {
   
     
        this.myProperty = initialProperty;  
    }  
    // 类的方法  
    myMethod(): void {
   
     
        console.log(this.myProperty);  
    }  
}  
// 创建 MyClass 的一个实例  
const myInstance = new MyClass("Hello, World!");  
// 调用实例的方法  
myInstance.myMethod(); // 输出: Hello, World!

这段代码展示了在TypeScript中如何定义一个类(MyClass),创建这个类的一个实例(myInstance),并调用该实例的一个方法(myMethod)。

  • 类的属性: myProperty 是一个字符串类型的属性,它用于存储类的实例的某个状态或数据。
  • 构造函数: constructor(initialProperty: string) 是一个特殊的方法,用于在创建类的实例时初始化对象。这里,它接受一个字符串参数 initialProperty,并将其值赋给类的
    myProperty 属性。注意,在TypeScript中,即使你没有显式地定义构造函数,编译器也会为你生成一个空的构造函数。
  • 类的方法: myMethod() 是一个没有参数和返回值(返回类型为 void)的方法。它使用 console.log 输出 myProperty 属性的值。
  • 类的实例: 通过 new 关键字和类名 MyClass 创建了 MyClass 类的一个新实例,并将其赋值给常量 myInstance。在创建实例时,传递了字符串 "Hello, World!" 作为参数给构造函数,这个值被用于初始化 myInstance 实例的 myProperty 属性。
  • 实例的方法: 调用myInstance 实例的 myMethod 方法。由于 myMethod 方法内部使用 console.log 输出了 myProperty 属性的值,而 myProperty 属性已经被初始化为 "Hello, World!",因此控制台将显示输出 Hello, World!

this 关键字有一个特殊的含义,它指的是当前对象的上下文(context)。在类的方法中,当方法作为实例方法被调用时(即通过实例对象调用),this 会自动指向调用它的那个实例。

类的继承

在TypeScript中,类的继承是一个非常重要的概念,它允许你基于一个或多个已存在的类来创建新的类。继承使得代码的重用和扩展变得更加容易。

class Animal {
   
   
    move(distanceInMeters: number = 0) {
   
   
        console.log(`Animal moved ${
   
   distanceInMeters}m.`);
    }
}
class Dog extends Animal {
   
   
    bark() {
   
   
        console.log('Woof! Woof!');
    }
}
const dog = new Dog();
dog.bark();
dog
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静Yu

感谢您的支持!

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

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

打赏作者

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

抵扣说明:

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

余额充值