# TS2720: Class '…' incorrectly implements class '…'. Did you mean to extend '…' and inherit its members as a subclass?

> A class implements another class but doesn't match its members, often because it should have extended it. Use extends, or add the members.

## What it means

`implements` with a class checks that this class has the same public shape as the other one, but
doesn't inherit anything. When the shape doesn't match, the message suggests `extends`, which
inherits the members instead.

## Example

```ts
class Animal {
  name = "";
  move() {}
}
class Dog implements Animal {
  name = "rex";
}
export {};
```

## How to fix

- Use `extends` to inherit the base class's members: `class Dog extends Animal`.
- Or keep `implements` and declare every member of the other class.

Source: https://ts-r.dev/errors/TS2720/
