Множественное наследование не рекомендованная вещь, а в последующих языках Java, C# его вообще нет и я надеюсь в PHP не будет. А насчет нормальной перегрузки, это да, в PHP она мутная, перегрузки конструктора тоже не хватает, да и вообще не мешало бы все это привести к СИшному виду, а не этот разврат в виде __construct()
Игорь, правда, не начинай. То, что есть в пыхе, по-своему интересная приблуда, но это не перегрузка. Этот механизм надо было назвать как-то иначе, только и делов.
Я в отличие от фанбоев вообще не имею такого взгляда на мир. в сях строгие типы и там НЕТ способа передать в функцию переменную любого типа. Ради этого придумана перегрузка. Ок. В пхп нестрогие типы. И нет нужды делать огород с перегрузками. Ок. Я тут эмоций и разрывов шаблона не испытываю.
Ды блин, причем тут строгие или не строгие типы. Механизм, существующий в пыхе легко реализовать и в сях и в плюсах на уровне компилятора. Пришел вызов функции, которая не зарегистрирована? Переадресовываем вызов в функцию по умолчанию. Просто то, что разрабы пыха назвали перегрузкой, не является перегрузкой. Это эдакий autoload, только не для классов, а для методов. перегрузка подразумевает, что что-то будет "перегружено". Оператор, свойство, метод. Тут же нет ничего подобного. Тут есть создание "методов и свойств по умолчанию", которые вызываются, если идет обращение к несуществующему методу/свойству. Причем сюда же они прилепили геттеры-сеттеры, которые к перегрузке вообще никоим образом не относятся и являются одним из инструментов инкапсуляции, которая, кстати, тоже никак не связана с типизацией. И геттеры-сеттеры тут работают просто невероятно чрезжопно и неудобно, хоть и оправданно с точки зрения оптимизации под интерпретатор, потому что количество точек входа снижается очень сильно. Хотя лучше бы это реализовано было на уровне ядра PHP, а разработчику дали нормальные инструменты.