PHP Herencia Múltiple con Interfaces
Estoy tratando de entender cómo el uso de interfaces me da una herencia múltiple a medida que he estado buscando en Google.
class A
{
function do1(){}
function do2(){}
function do3(){}
}
class B extends A
{
function do4(){}
function do5(){}
function do6(){}
}
class C extends B
{
}
En el ejemplo anterior, la clase C tiene todos los métodos de la clase A y B. Sin embargo, la clase B también tiene todos los métodos de la clase A, que no es necesario desear.
Mis búsquedas han llegado a usar interfaces para resolver este problema al mover métodos a una clase y crear interfaces, como se muestra a continuación.
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(){}
}
Realmente no veo cómo esto resuelve el problema porque todo el código está en la nueva clase. Si solo quisiera usar la clase A como originalmente, tendría que crear una nueva clase que implementara la interfaz A y copiar el mismo código en la nueva clase.
¿Se me escapa algo?