Да, вы можете сделать это, и нет, он не будет «перезаписывать» IProduct
, он добавляет к нему.
Если вы где-то используете интерфейс ISpecificProduct
и хотите узнать о методах в IProduct
, ISpecificProduct
также может расширяться IProduct
:
interface ISpecificProduct extends IProduct
В этом случае SpecificProduct
получает информацию о сигнатурах метода из IProduct
двумя способами.
См. PHP документация по интерфейсам для получения дополнительной информации.
В качестве примечания: если у вас есть соответствующий интерфейс для каждого конкретного класса, вероятно, в вашем объектном дизайне происходит что-то неэффективное или ненужное.