implements 和extends 的区别

166 阅读1分钟

implements

实现,一个新的类,从父类或者接口实现所有的属性和方法,同时可以重写属性和方法,包含一些新的功能

一个类通过关键字implements声明自己使用一个或者多个接口。

extends

继承,一个新的接口或者类,从父类或者接口继承所有的属性和方法,不可以重写属性,但可以重写方法

示例

interface IPerson { age: number; name: string; }

interface IPeoPle extends IPerson { // 接口继承接口 sex: string; }

class User implements IPerson { // 类实现接口 age: number; name: string; }

interface IRoles extends User{ // 接口继承类

}

class Point6 { x: number; y: number; } interface Point3d extends Point6 { // 接口继承类 z: number; } let point3d: Point3d = {x: 1, y: 2, z: 3};

class Roles extends User{ // 类继承类

}

注意

  • 接口不能实现接口或者类,所以实现只能用于类身上,即类可以实现接口或类
  • 接口可以继承接口或类
  • 类不可以继承接口,类只能继承类
  • 可多继承或者多实现