class是一种定义类型和实现的方式。它既包含类型信息,也包含实际的属性和方法实现。与type和interface不同,class定义的类型信息会保留在编译后的代码中,因为它们在运行时是必需的。 class可以通过关键字extends实现类继承,还可以通过关键字implements实现接口实现。这使得class成为创建具有多层次结构和行为的对象的理想选择。
而interface可以extends class,此时的class承担类型的角色 interfaceChineseextendsHuman{country: string; } 那么interface能不能extends enum或者type alias呢,这两个兄弟也声明了type啊,答案是不行的,官方报错的信息: Aninterface can only extend anobjecttypeorintersectionofobjecttypeswithstaticallyknownmembers. interfac...
Class 可以通过 extends 关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多 class Animate { constructor() { // 默认返回实例对象 this } } class Dog extends Animate { constructor() { super() } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 子类必...
interface Zoom extends Cat, Dog { play: string; } let zoom = <Zoom>{};zoom.eat= `疯狂吃`;zoom.pull= `疯狂拉`;zoom.play= `疯狂撸`;复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 2.type:类型别名 type 会给一个类型起个新名字。 type 有时和 interface 很像,但是...
interfacePerson{name:string;age:number;greet():void;// 描述一个方法} 🤝 实现 类可以实现一个接口,强制类具有接口规定的属性和方法。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 classStudentimplementsPerson{name:string;age:number;constructor(name:string,age:number){this.name=name;this.age=ag...
class和interface的区别 要理解extends和implements的区别,得对类和接口的概念熟稔于心,它们在语法和用途上的关键区别。 记住: 类是创建对象的模板,支持封装、继承和多态。 接口是描述对象形状的抽象结构,用于确保对象符合特定的规范。 类 类是一种具有属性和方法的蓝图,它用于创建对象。通过类,可以实例化对象,让多个...
interface AnimalLink {eat(): void; move(): void } AI代码助手复制代码 接口可以实现继承 interfacePersonLikeextendsAnimalLink{speak():void}classPerson2implementsPersonLike{speak() { };eat() { };move() { } } AI代码助手复制代码 通过接口约束变量类型 ...
interface PersonLike extends AnimalLink { speak(): void } class Person2 implements PersonLike { speak() { }; eat() { }; move() { } } 通过接口约束变量类型 代码语言:javascript 代码运行次数:0 运行 AI代码解释 interface Person3 { readonly id: number; name: string; [PropName: string]:...
interface PersonLike extends AnimalLink {speak(): void}class Person2 implements PersonLike {speak() { };eat() { };move() { }} 1. 2. 3. 4. 5. 6. 7. 8. 通过接口约束变量类型 复制 interface Person3 {readonly id: number;name: string;[PropName: string]:any}let p1: Person3 = ...
extends有三种主要的功能:类型继承、条件类型、泛型约束。 类型继承 语法: interface I {} class C {} interface T extends I, C {} 示例: interface Action { type: any; } interface PayloadAction extends Action { payload: any; [extraProps: string]: any; ...