Многократное наследование 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, и скопировать тот же код в новый класс.

Я что-то упускаю?

Ответы на вопрос(5)

Ваш ответ на вопрос