Многократное наследование PHP с интерфейсами
Я пытаюсь понять, как использование интерфейсов дает мне множественное наследование, поскольку я гуглю.
class A
{
function do1(){}
function do2(){}
function do3(){}
}
class B extends A
{
function do4(){}
function do5(){}
function do6(){}
}
class C extends B
{
}
В приведенном выше примере класс C имеет все методы из классов A и B. Однако в классе B также есть все методы класса A, что необязательно.
Мои поиски подошли к использованию интерфейсов для решения этой проблемы путем перемещения методов в класс и создания интерфейсов, как показано ниже.
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(){}
}
Я действительно не вижу, как это решает проблему, потому что весь код находится в новом классе. Если бы я просто хотел использовать класс A как изначально, мне пришлось бы создать новый класс, который реализует интерфейс A, и скопировать тот же код в новый класс.
Я что-то упускаю?