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

E se a classe categoria tivesse um construtor?

Como séria para cadastrar/editar um novo produto se a classe categoria tivesse um construtor?

pois temos que declarar $categora = new Categoria(); mas se ela tivesse um construtor que fosse por exemplo o nome dela teriamos que passar algo dentro do new Categoria($nome) o que colocariamos? ou não precisa colocar?

Minha pergunta não vai só especifcamente para essa classe mas para outros casos que poderiamos lidar com uma classe com muitas variaveis e a mesma tenha um construtor, e então outra classe precisa dela para ser criada ou editada etc

7 respostas

Caso a contrução da categoria tenha parametros, sim, voce precisaria declarar o construtor da classe e na hora de instanciar o objeto da mesma, passar os parametros do mesmo jeito que você exemplificou na sua pergunta.

Contudo, poderia dar um exemplo mais prático? ou o que eu disse acima já esclareceu sua dúvida?

Oi Wandersson eu estava viajando, escrevi parametro em vez de construtor desculpa, ja editei!

Um exemplo poderia ser com essa mesma classe da categoria vamos dizer que ela tenha um o nome dela no construtor.

Na hora que nos criarmos um produto e declarar uma nova categoria para adicionar a esse rpoduto além de pegar o ID da categoria, teriamos que fazer um outro input hidden para pegar o seu nome(para passar ao construtor)?

class CategoriaDuvida {

    private $id;
    private $nome;

function __construct($nome){
$this->nome = $nome
}
getters e setters....
}
}

Pelo que eu entendi devemos criar construtores para valores que aquelas classes sempre irão ter, estou pensando certo ou errado?

Sim, é esse mesmo o processo. Você recebe o parametro e passa para o construtor. Apesar do seu exemplo ser um pouco incomum. O que acontece é.

Na hora de criar o produto, este guarda apenas a categoria do produto (o id), pois o nome da categoria é guardado pela propria tabela categoria. E assim, no código contruimos algo chamado de relacionamento de entidades, este nome também existe no contexto de banco de dados.

É que além de pensar nesse exemplo eu me peguei pensando em um caso que uma classe possa ter um construtor com varias variáveis, o que aconteceria se outra classe precisasse dela para ser gerada, não sei se deixei claro o que quis dizer

solução!

Entendi, uma classe dependendo da outra. Em O.O Chamariamos isso de agregação/composição, onde objetos são compostos de outros objetos causando uma dependencia entre os mesmos.

Neste caso, você teria que construir os objetos que são dependecia primeiro para assim depois contruir esse outro objeto que depende dos outros.

Agora, será que consegui chegar perto do que você queria entender?

Sim! valeu!!