Galera gostaria de saber em orientação a objetos qual das duas opções abaixo é mais otimizada e executa mais rapido pelo compilador (qual a melhor opção?)
Atraves de um metodo contrutor:
$class = new Classe("Nome","Idade","Rua","sexo");
Ou manualmente:
$class = new Classe; $class->setNome("Nome"); $class->setIdade("Idade"); $class->setRua("Rua"); $class->setSexo("Sexo");
Minha Resposta: Na minha opnião, acredito que a primeira opção é a mais otimizada pelo compilador, e provavelmente é executada mais rapidamente (talvez questões de milisegundos comparada a segunda opção), mas porque? Ao meu ver:
- O primeiro economiza algumas linhas de codigos, e a fadiga de setar muitos dados (Escrevendo setNome, setIdade ....)
- Quando setamos via construtor os dados são enviados para o metodo construtor existente na outra classe e esses dados já sao atribuidos dentro de suas variaveis dentro de um mesmo metodo
Acredito que a segunda opção seja menos otimizada pois:
- Primeiro instanciamos a classe, depois nos pegamos a instancia dessa classe e executamos os seus metodos um de cada vez, nesse caso estamos chamando 4 metodos separadamente.
- Quando chamamos via manual, os dados são enviados para metodos diferentes seta-los separadamente o que acredito que puxe mais recursos.
Construtor -> Instancia (Ja com os dados) -> dados recebidos pela classe -> Dados setados pela classe -> Sucesso
Manual -> Instancia -> Pega a instancia acessa o metodo e envia o parametro -> Metodo pega o parametro e coloca dentro da variavel -> -> Pega a instancia acessa o metodo e envia o parametro -> Metodo pega o parametro e coloca dentro da variavel -> ........ -> Sucesso
Possa ser que eu esteja errado, mas isso me gerou essa duvida, alguem pode dar uma clareada?