Herança Múltipla do PHP com Interfaces
Eu estou tentando entender como usar interfaces me dá herança múltipla como eu estive pesquisando.
class A
{
function do1(){}
function do2(){}
function do3(){}
}
class B extends A
{
function do4(){}
function do5(){}
function do6(){}
}
class C extends B
{
}
No exemplo acima, a classe C tem todos os métodos da classe A e B. No entanto, a classe B também possui todos os métodos da classe A, o que não é necessário.
Minhas pesquisas surgiram para usar interfaces para resolver esse problema, movendo métodos para uma classe e criando interfaces, como abaixo.
interface A
{
function do1();
function do2();
function do3();
}
interface B
{
function do4();
function do5();
function do6();
}
class C implements A, B
{
function do1(){}
function do2(){}
function do3(){}
function do4(){}
function do5(){}
function do6(){}
}
Eu realmente não vejo como isso resolve o problema porque todo o código está na nova classe. Se eu quisesse usar a classe A originalmente, teria que criar uma nova classe que implementasse a interface A e copiasse o mesmo código para a nova classe.
Tem algo que estou perdendo?