TypeScript学习(十)implements与extends的区别

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{ // 类继承类
  
}

注意

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

  • 接口可以继承接口或类

  • 类不可以继承接口,类只能继承类

  • 可多继承或者多实现 

原文地址:https://www.cnblogs.com/kunmomo/p/15272705.html