typescript中的类定义对象模板,包括属性和方法;而接口定义对象合同,规定必须具备的属性和方法。两者主要区别:类创建实际对象,接口定义对象合同;类有构造函数和方法,接口仅有属性和方法声明;接口可继承接口,类只能继承类;根据实际需要选择类或接口:创建对象时使用类,定义对象合同时使用接口。
typescript 中的类和接口
TypeScript 中的类和接口是两种基本的类型,用于定义对象的形状和行为。
类
类用于定义对象的模板,它指定了对象的属性和方法。可以使用 class 关键字声明类:
class Person { name: string; age: number; constructor(name: string, age: number) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } }
这个 Person 类定义了一个具有 name 和 age 属性以及一个 greet 方法的对象。
接口
接口用于定义对象的合同,它指定了对象必须具有哪些属性和方法。可以使用 Interface 关键字声明接口:
interface PersonInterface { name: string; age: number; greet(): void; }
这个 PersonInterface 接口定义了一个对象必须具有 name 和 age 属性以及一个 greet 方法。
类和接口的区别
类和接口的主要区别在于:
何时使用类和接口?
- 使用类,当需要创建一个实际的对象时,该对象将具有特定的属性和行为。
- 使用接口,当需要定义对象的合同时,该合同可以由多个类实现。