1. Para utilizar a sobrescrita de métodos basta reescrever o método na classe filha utilizando o mesmo nome:

    class Vehicle {
      move() {
        console.log("O veículo está se movendo.")
      }
    }
    
    class Car extends Vehicle {
      move() {
        console.log("O carro está se movendo.")
      }
    }
    
    class Ship extends Vehicle {
      move() {
        console.log("O navio está navegando.")
      }
    }
    
    class Aircraft extends Vehicle {
      move(speed) {
        console.log(`A aeronave está voando a ${speed} km/h.`)
      }
    }
    
    const delorean = new Car()
    const blackPearl = new Ship()
    const epoch = new Aircraft()
    
    delorean.move()
    blackPearl.move()
    epoch.move(80)
    
  2. Outra possibilidade incrível da sobrescrita de métodos é utilizar de forma genérica objetos que obedecem a mesma interface:

    function start(vehicle) {
      console.log("Iniciando um veículo...")
      vehicle.move() // pode ser qualquer subclass de Vehicle
    }
    
    start(delorean)
    start(blackPearl)
    start(epoch)