Wielokrotne dziedziczenie PHP z interfejsami
Staram się zrozumieć, w jaki sposób używanie interfejsów daje mi wiele dziedziczenia, tak jak googluję.
class A
{
function do1(){}
function do2(){}
function do3(){}
}
class B extends A
{
function do4(){}
function do5(){}
function do6(){}
}
class C extends B
{
}
W powyższym przykładzie klasa C ma wszystkie metody z klasy A i B. Jednak klasa B ma również wszystkie metody klasy A, co nie jest konieczne.
Moje wyszukiwania wykorzystują interfejsy do rozwiązania tego problemu, przenosząc metody do klasy i tworząc interfejsy, jak poniżej.
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(){}
}
Naprawdę nie rozumiem, jak to rozwiązuje problem, ponieważ cały kod jest w nowej klasie. Gdybym chciał użyć klasy A tak jak pierwotnie, musiałbym utworzyć nową klasę, która implementuje interfejs A i skopiować ten sam kod do nowej klasy.
Czy czegoś brakuje?