Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida metodologia

Professor, vendo sua resposta no codigo agora fiquei um pouco preocupado, não sei se entendi o conceito do que esta sendo discutido ou se não entendi o pedido no exercicio. Veja meu codigo como ficou:

class Codigo{

  constructor(codigo){

    this._codigo = codigo;

  }

  validaCodigo(){

    if(/\D{3}-\D{2}-\d{2}/.test(this._codigo)) {
          alert('Código válido!');
      } else {
          alert('Código inválido');
    }

  }

}

e na chamada:

let codigo = new Codigo("1WZ-JJ-12");
      codigo.validaCodigo();

criei uma classe e funcionou, porém, fiquei na duvida se o conceito seguido esta seguindo o OO ou continuo com a programação procedural. Desculpe se a duvida parece obvia, mas acho q ainda estou perdido na programacao procedural x OO.

Obrigado pela ajuda,

2 respostas
solução!

A ideia é validar no constructor. Tem como criar um novo objeto da classe sem passar pelo constructor? Não, então você garante a integridade dos dados. Se você cria a instância para validar depois terá que lembrar de validar depois da criação e se esquecer terá um objeto inválido.

O objeto deve garantir a consistência dos seus dados.

Beleza? Qualquer coisa me fale.

Ok. Muito obrigado.