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

Herança múltiplia

Eu entendi que não é possível criamos heranças multiplas no PHP, porém, eu posso dar extends uma classe que também dê extends em uma segunda classe? Isso é uma boa prática, dentro de heranças?

Exemplo:

    class EuSouUmaClasse extends EuSouUmaClassePai 
    {
    }

    class EuSouOutraClasse extends EuSouUmaClasse 
    {
    }
3 respostas
solução!

Olá Maria, tudo bem?

Isso não é um problema estrutural, é possível ser feito sim.

O PHP realmente não suporta extender duas classes ao mesmo tempo como no C#.

O que é possível também, é extender uma classe e a mesma herdar os atributos da classe pai.

Abraços e bons estudos!

Ótimo questionamento, Maria.

Isso citado por você está mais para herança de "multinível" do que herança múltipla, a herança "multinível" não acredito ser um má prática desde que realmente faça sentido . Mas o ponto central de tudo isso é que a herança, em si, já é um mecanismo bem controverso da orientação a objetos, imagine múltiplas heranças. Muitas pessoas utilizam a herança como mecanismo de reutilização de código, quando na verdade ela tem muito mais haver com hierarquia de tipos. Se você achar que sua classe deveria ter múltiplas heranças, provavelmente sua classe está organizada de maneira errada e está fazendo mais coisa do que deveria. No PHP temos o mecanismo de traits que pode substituir essa necessidade de reutilização de algum pedaço de código dentro de uma classe, e por fim, sempre que for usar a herança se pergunte se com a composição não seria mais coerente resolver o problema.

Bons estudos!

Muito obrigada, eu cai em um problema hoje, onde eu precisei fazer algo neste modelo. Mas fiquei na dúvida se deveria ou não hahah.