Difference Between implements and extends in TypeScript

Difference Between implements and extends in TypeScript

1月 30, 2020 · 1 分钟阅读时长 · 154 字 · -阅读 -评论

Understanding implements vs. extends helps you choose the right composition pattern in TypeScript.

Definitions

implements

“Implement” a contract. A class implements an interface (or another class) by providing all required members. It can override methods/properties and add new ones.

extends

“Inherit” behavior. A class or interface extends another class/interface, inheriting members. Properties are inherited; methods can be overridden.

Key Rules in TypeScript

  1. Only classes use implements (classes can implement interfaces or classes).
  2. Interfaces can extend interfaces or classes.
  3. Classes can only extend classes (not interfaces).
  4. Multiple inheritance/implementation is allowed.

diagram

Java Comparison

In Java:

  1. Same as TypeScript: classes implement interfaces and extend classes. Multiple inheritance via interfaces is allowed.
  2. Difference: interfaces can’t extend classes—only other interfaces.

java diagram

Takeaway

This is just a starting point; real-world use comes from practice.

References

Alan H
Authors
开发者,数码产品爱好者,喜欢折腾,喜欢分享,喜欢开源