O get contador() tem alguma finalidade no caso do exercício? Me parece que não está sendo requisitado em mais nenhum lugar.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p id="p1">0</p>
<button onclick="contadorController.incrementa()">Incrementar</button>
<script src="index.js"></script>
<script>
let contadorController = new ContadorController();
</script>
</body>
</html>
class ContadorController {
constructor() {
this._contador = 0;
this._elemento = document.querySelector('#p1');
}
get contador() {
return this._contador;
}
incrementa() {
this._contador++;
this._elemento.textContent = this._contador;
}
}